{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "nbgrader": {
     "grade": false,
     "grade_id": "cell-7f558e8f3d6ac7e9",
     "locked": true,
     "schema_version": 3,
     "solution": false,
     "task": false
    }
   },
   "source": [
    "# Exercise 05) Temporal-Difference Learning\n",
    "\n",
    "In this exercise we again use the racetrack environment developed in the first homework.\n",
    "You can either use our provided environment or your own solution from the homework assignment.  \n",
    "\n",
    "For starting, please execute the following cells. \n",
    "There, we will build the more complex rectangular course which was used in the last task of exercise 04.\n",
    "\n",
    "A dummy policy is defined, which turns the car to the right in front of a wall.\n",
    "As a reminder the action encoding can be seen in the following picture:\n",
    "\n",
    "![](Directions_Legend.png)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "nbgrader": {
     "grade": false,
     "grade_id": "cell-6cd0709c047c84bf",
     "locked": true,
     "schema_version": 3,
     "solution": false,
     "task": false
    }
   },
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import random\n",
    "from racetrack_environment import RaceTrackEnv\n",
    "import matplotlib.pyplot as plt\n",
    "from tqdm.notebook import tqdm"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "from utils import build_rect_course"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Build the course\n",
    "_course_dim = (8, 10)\n",
    "_inner_wall_dim = (2, 6)\n",
    "\n",
    "\n",
    "course = build_rect_course(_course_dim, _inner_wall_dim)\n",
    "track = RaceTrackEnv(course)\n",
    "dummy_slow_pi = np.ones([track.bounds[0], track.bounds[1], 1+2*track.MAX_VELOCITY, 1+2*track.MAX_VELOCITY]) * 4\n",
    "\n",
    "y_size, x_size = track.bounds"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "# setup dummy policy\n",
    "\n",
    "dummy_slow_pi[:track.bounds[0]//2, :, 0 , 0] = 5 # turn right\n",
    "dummy_slow_pi[:track.bounds[0]//2, -2:, 0 , :] = 6 # turn down left\n",
    "dummy_slow_pi[-2:, track.bounds[1]//2:, : , 0] = 0 # turn up left\n",
    "dummy_slow_pi[track.bounds[0]//2:, :2, 0, :] = 2 # turn up right\n",
    "dummy_slow_pi[:2, 0:track.bounds[1]//2, :, 0] = 8 # turn down right\n",
    "\n",
    "pi = dummy_slow_pi"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "nbgrader": {
     "grade": false,
     "grade_id": "cell-4c2c49205b405e2e",
     "locked": true,
     "schema_version": 3,
     "solution": false,
     "task": false
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "WWWWWWWWWWWW\n",
      "Woooo+W-oooW\n",
      "Woooo+W-oooW\n",
      "Woooo+W-oooW\n",
      "WooWWWWWWooW\n",
      "WooWWWWWWooW\n",
      "WooooooooooW\n",
      "WooooooooooW\n",
      "WooooooooooW\n",
      "WWWWWWWWWWWW\n",
      "\n",
      " \n",
      " Sample trajectory on dummy policy:\n"
     ]
    },
    {
     "data": {
      "image/png": "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jhyJc845Z1iHAoDTRVkhvuWWW2LPnj2xfv36eOutt2LLli2xadOmaGtrG6n5AKCqlXWNOCLimWeeiTVr1sTRo0ejpaUlVq1aFb/61a8GvX+pVIrGxkbXiAfDNWKgUrlGfErlXCMuO8TflBCXQYiBSiXEpzRiH9YCAIaXEANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkGh89gCcwtwiewIARpgzYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJygpxb29vrF27NlpaWqK+vj7OO++8uPPOO6Mo3K4PAIairPsRb9iwITZu3BibN2+O2bNnxyuvvBJLly6NxsbGWL58+UjNCABVq6wQv/TSS/HjH/84Fi5cGBER5557bjzxxBOxb9++ERkOAKpdWW9NX3XVVbFz5844cuRIRES89tpr8eKLL8Z11133lfv09PREqVQasAAAnyvrjHj16tVRKpVi1qxZUVtbG729vbFu3bpYvHjxV+7T3t4ed9xxxzceFACqUVlnxE8++WQ8/vjjsWXLljh48GBs3rw5/vCHP8TmzZu/cp81a9ZEV1dX/9LR0fGNhwaAalFTlPGR5+bm5li9enW0tbX1r7vrrrviz3/+c7z55puD+hmlUikaGxujPiJqyh535HT75DfAmDappnKqUkTEfyKiq6srJk+efMptyzoj/vjjj2PcuIG71NbWRl9fX7kzAgBR5jXiRYsWxbp162LmzJkxe/bsePXVV+Pee++Nm266aaTmA4CqVtZb0ydOnIi1a9fG9u3bo7OzM5qamuIXv/hF3HbbbTFhwoRB/QxvTQMwEsbqW9NlhXg4CDEAI2Gshth3TQNAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJyrr7UjWrpO8oBeD04YwYABIJMQAkEmIASCTE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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Run learned policy on test case\n",
    "pos_map = np.zeros((y_size, x_size))\n",
    "state = track.reset()\n",
    "for k in range(2000):\n",
    "    pos_map[state[0], state[1]] += 1  # exploration map\n",
    "    act = track.action_to_tuple(pi[state])\n",
    "    state, reward, terminated, truncated, _ = track.step(act)\n",
    "    if truncated: state = track.reset()\n",
    "    if terminated: break    \n",
    "\n",
    "for row in course:\n",
    "    print(row)\n",
    "\n",
    "print('\\n \\n Sample trajectory on dummy policy:')\n",
    "pos_map = (pos_map > 0).astype(np.float32)\n",
    "pos_map +=  track.course  # overlay track course\n",
    "plt.imshow(pos_map, cmap='hot', interpolation='nearest')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "nbgrader": {
     "grade": false,
     "grade_id": "cell-ca8dcc7e0dc05f9d",
     "locked": true,
     "schema_version": 3,
     "solution": false,
     "task": false
    }
   },
   "source": [
    "## 1) TD-Based Prediction (Policy Evaluation)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "nbgrader": {
     "grade": false,
     "grade_id": "cell-7197a6aac11887b4",
     "locked": true,
     "schema_version": 3,
     "solution": false,
     "task": false
    }
   },
   "source": [
    "Write a TD-based prediction algorithm to evaluate the dummy policy using $\\alpha = 0.2$ and $\\gamma = 1$ and calculate the state values.\n",
    "\n",
    "After how many episodes do the state values converge?\n",
    "Compare this to Monte-Carlo first visit prediciton from exercise 04.\n",
    "\n",
    "Change $\\alpha$ to $1$? Does it work? Explain!"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "nbgrader": {
     "grade": false,
     "grade_id": "cell-9f2519bdb5105516",
     "locked": true,
     "schema_version": 3,
     "solution": false,
     "task": false
    }
   },
   "source": [
    "## 1) Solution"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "def text_print_pos_map(_pos_map):\n",
    "    \"\"\"Function to print the state values\"\"\"\n",
    "    for row in _pos_map:\n",
    "        print(' '.join(x_size*['{}']).format(*[str(int(r)).zfill(3) for r in row]))\n",
    "\n",
    "def plot_pos_map(_pos_map):\n",
    "    \"\"\"# Function to plot the heatmap\"\"\"\n",
    "    plt.imshow(_pos_map, cmap='hot', interpolation='nearest')\n",
    "    plt.show()\n",
    "\n",
    "\n",
    "def interact(pi, state):\n",
    "    \"\"\"Interact with the environment to get to the next state.\n",
    "\n",
    "    Args:\n",
    "        pi: The policy to follow\n",
    "        state: The current state before interaction\n",
    "\n",
    "    Returns:\n",
    "        next_state: The next state after interaction\n",
    "        reward: The reward for the current interaction\n",
    "        terminated: If the goal was reached\n",
    "        truncated: If the boundary of the track was breached\n",
    "    \"\"\"\n",
    "    ### BEGIN SOLUTION\n",
    "\n",
    "    action = track.action_to_tuple(pi[state])\n",
    "    next_state, reward, terminated, truncated, _ = track.step(action)\n",
    "\n",
    "    ### END SOLUTION\n",
    "    return next_state, reward, terminated, truncated\n",
    "\n",
    "def learn(values, state, next_state, reward, gamma, alpha):\n",
    "    \"\"\"Learn from the collected data using TD0-based prediction.\n",
    "    \n",
    "    Args:\n",
    "        values: The state-value estimates before the current update\n",
    "        state: The state before the last interaction\n",
    "        next_state: The state after the last interaction\n",
    "        reward: The reward for the last interaction\n",
    "        gamma: Discount factor\n",
    "        alpha: Forgetting factor\n",
    "    \"\"\"\n",
    "    ### BEGIN SOLUTION\n",
    "\n",
    "    values[state] += alpha * (reward + gamma*values[next_state] - values[state])\n",
    "\n",
    "    ### END SOLUTION\n",
    "    return values"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "nbgrader": {
     "grade": false,
     "grade_id": "cell-9420a2eab6df4bfe",
     "locked": false,
     "schema_version": 3,
     "solution": true,
     "task": false
    }
   },
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "b19bff22deb44555bc610a10fa8b25cc",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "episode:   0%|          | 0/250 [00:00<?, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "000 000 000 000 000 000 000 000 000 000 000 000\n",
      "000 -04 -03 -02 -01 000 000 -30 -29 -28 -27 000\n",
      "000 -05 000 000 000 000 000 -29 -28 -27 -26 000\n",
      "000 -06 000 000 000 000 000 -28 -27 -26 -25 000\n",
      "000 -07 000 000 000 000 000 000 000 000 -24 000\n",
      "000 -08 000 000 000 000 000 000 000 000 -23 000\n",
      "000 -09 000 000 000 000 000 000 000 000 -22 000\n",
      "000 -10 000 000 000 000 000 000 000 000 -21 000\n",
      "000 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 000\n",
      "000 000 000 000 000 000 000 000 000 000 000 000\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeIAAAGdCAYAAADOnXC3AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAVkElEQVR4nO3db2yVhd3/8W8p49CbX2kU5U9j0c6YoIBOLfBTlv2JRGOImVni5i+4EMwvWbYqIIkRtqAxDituM8Y/QfGB4wGgPmE6E10IU4xRBEGMZBvo1NloAE1cD+JWTXvdD4z17m3Fntr2ezi8XsnJ0otzOJ9cuL5ztac9dUVRFAEApBiTPQAATmRCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAorGj/YS9vb3x3nvvRWNjY9TV1Y320wPAiCuKIo4cORLNzc0xZsyxr3lHPcTvvfdetLS0jPbTAsCo6+zsjNNOO+2Y9xn1EDc2NkZExPiIcD0MQC0qIuI/8UXzjmXUQ/z5l6PrQogBqG2D+RasF2sBQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiYYU4vvvvz/OOOOMGD9+fMybNy927tw53LsA4IRQcYgfffTRWLFiRdxyyy2xZ8+eOO+88+Kyyy6Lw4cPj8Q+AKhpdUVRFJU8YN68eTFnzpy47777IiKit7c3Wlpa4vrrr4+VK1d+7ePL5XI0NTVFQ3j3JQBqUxER/46Irq6umDhx4jHvW9EV8SeffBK7d++OBQsWfPEXjBkTCxYsiBdffHHAx3R3d0e5XO53AwA+U1GIP/jgg+jp6YkpU6b0Oz5lypQ4ePDggI/p6OiIpqamvltLS8vQ1wJAjRnxV02vWrUqurq6+m6dnZ0j/ZQAcNwYW8mdTznllKivr49Dhw71O37o0KGYOnXqgI8plUpRKpWGvhAAalhFV8Tjxo2LCy+8MLZt29Z3rLe3N7Zt2xYXXXTRsI8DgFpX0RVxRMSKFSti8eLF0dbWFnPnzo277747jh49GkuWLBmJfQBQ0yoO8U9/+tN4//334+abb46DBw/Gd77znXj66ae/9AIuAODrVfxzxN+UnyMGoNaN2M8RAwDDS4gBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0Ciit/0oVb9v+wBAzj09XcZde9nDxjAwewBA6jG81SNjo7ur7ofpLezBwzgH9kDBvB29oAvmVD3/7MnDIkrYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAorHZA6rFqdkDBrA5ewCMuLezBwzgH9kDBvB29oABVON5Oj65IgaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQqKIQd3R0xJw5c6KxsTEmT54cV155Zezfv3+ktgFAzasoxNu3b4/29vbYsWNHbN26NT799NO49NJL4+jRoyO1DwBq2thK7vz000/3+/gPf/hDTJ48OXbv3h3f+973hnUYAJwIKgrx/9bV1RURESeffPJX3qe7uzu6u7v7Pi6Xy9/kKQGgpgz5xVq9vb2xfPnymD9/fsyaNesr79fR0RFNTU19t5aWlqE+JQDUnCGHuL29Pfbt2xePPPLIMe+3atWq6Orq6rt1dnYO9SkBoOYM6UvT1113XTz55JPx3HPPxWmnnXbM+5ZKpSiVSkMaBwC1rqIQF0UR119/fWzZsiWeffbZaG1tHaldAHBCqCjE7e3tsWnTpnj88cejsbExDh48GBERTU1N0dDQMCIDAaCWVfQ94nXr1kVXV1f84Ac/iGnTpvXdHn300ZHaBwA1reIvTQMAw8fvmgaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASDen9iGvR1OwBcEL6R/aAAbydPWAAzlMtc0UMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEg0NntAtTg1ewCcgCbULciewBAdLeZmT6gZrogBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJPpGIb7jjjuirq4uli9fPkxzAODEMuQQ79q1Kx588ME499xzh3MPAJxQhhTijz76KBYtWhQPPfRQnHTSScO9CQBOGEMKcXt7eyxcuDAWLFjwtfft7u6Ocrnc7wYAfGZspQ945JFHYs+ePbFr165B3b+joyNuvfXWiocBwImgoivizs7OWLZsWWzcuDHGjx8/qMesWrUqurq6+m6dnZ1DGgoAtaiiK+Ldu3fH4cOH44ILLug71tPTE88991zcd9990d3dHfX19f0eUyqVolQqDc9aAKgxFYX4kksuiddee63fsSVLlsSMGTPipptu+lKEAYBjqyjEjY2NMWvWrH7HJkyYEJMmTfrScQDg6/nNWgCQqOJXTf9vzz777DDMAIATkytiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBINE3/l3TtWJq9gCA48rb2QNqhitiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0CisdkDqsWp2QMAjif/Ppy9oGa4IgaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQqOIQv/vuu3HNNdfEpEmToqGhIWbPnh0vv/zySGwDgJpX0fsRf/jhhzF//vz44Q9/GE899VSceuqp8frrr8dJJ500UvsAoKZVFOK1a9dGS0tLPPzww33HWltbh30UAJwoKvrS9BNPPBFtbW1x1VVXxeTJk+P888+Phx566JiP6e7ujnK53O8GAHymohC/+eabsW7dujjrrLPiz3/+c/ziF7+IpUuXxoYNG77yMR0dHdHU1NR3a2lp+cajAaBW1BVFUQz2zuPGjYu2trZ44YUX+o4tXbo0du3aFS+++OKAj+nu7o7u7u6+j8vlcrS0tERDRNQNffew25E9YAD/N3sAwFc4+nH2gi+b8F/ZC75QRMS/I6KrqysmTpx4zPtWdEU8bdq0OOecc/odO/vss+Odd975yseUSqWYOHFivxsA8JmKQjx//vzYv39/v2MHDhyI008/fVhHAcCJoqIQ33DDDbFjx464/fbb44033ohNmzbF+vXro729faT2AUBNqyjEc+bMiS1btsTmzZtj1qxZcdttt8Xdd98dixYtGql9AFDTKnqx1nAol8vR1NTkxVqD4MVaQLXyYq1jG7EXawEAw0uIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAorHZA6rFlOwBAMeT97MH1A5XxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaARGOzB1SLU7MHDODolOwFA6jGEzU1e8AA/NsNTjX+21XjearG/54OZg+oHa6IASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACSqKMQ9PT2xevXqaG1tjYaGhjjzzDPjtttui6IoRmofANS0it6PeO3atbFu3brYsGFDzJw5M15++eVYsmRJNDU1xdKlS0dqIwDUrIpC/MILL8SPfvSjWLhwYUREnHHGGbF58+bYuXPniIwDgFpX0ZemL7744ti2bVscOHAgIiJeffXVeP755+Pyyy//ysd0d3dHuVzudwMAPlPRFfHKlSujXC7HjBkzor6+Pnp6emLNmjWxaNGir3xMR0dH3Hrrrd94KADUooquiB977LHYuHFjbNq0Kfbs2RMbNmyI3/3ud7Fhw4avfMyqVauiq6ur79bZ2fmNRwNArajoivjGG2+MlStXxtVXXx0REbNnz45//vOf0dHREYsXLx7wMaVSKUql0jdfCgA1qKIr4o8//jjGjOn/kPr6+ujt7R3WUQBwoqjoiviKK66INWvWxPTp02PmzJnxyiuvxF133RXXXnvtSO0DgJpWUYjvvffeWL16dfzyl7+Mw4cPR3Nzc/z85z+Pm2++eaT2AUBNqytG+ddilcvlaGpqioaIqBvNJ/4aH2UPGEDdlOwFAzg1e8AApmYPGIB/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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Initialise state values \n",
    "values = np.zeros([track.bounds[0], track.bounds[1], 1+2*track.MAX_VELOCITY, 1+2*track.MAX_VELOCITY])\n",
    "\n",
    "# Configuration parameters\n",
    "gamma = 1\n",
    "alpha = 1\n",
    "\n",
    "# Initialise race track course\n",
    "course = course\n",
    "track = RaceTrackEnv(course)\n",
    "x_size, y_size = len(course[0]), len(course)\n",
    "\n",
    "pos_map = np.zeros((y_size, x_size))\n",
    "\n",
    "episodes = 250\n",
    "\n",
    "for e in tqdm(range(episodes), desc='episode'): \n",
    "        \n",
    "    # initialize x0\n",
    "    state = track.reset()\n",
    "  \n",
    "    # episodes do not terminate by time limit\n",
    "    while True:\n",
    "        next_state, reward, terminated, truncated = interact(pi, state)\n",
    "\n",
    "        if truncated: \n",
    "            next_state = track.reset()\n",
    "\n",
    "        values = learn(values, state, next_state, reward, gamma, alpha)        \n",
    "        \n",
    "        # x_k = x_k+1\n",
    "        state = next_state\n",
    "\n",
    "        if terminated:\n",
    "            break\n",
    "\n",
    "    # update map\n",
    "    for s_x in range(x_size):\n",
    "        for s_y in range(y_size):\n",
    "            pos_map[s_y, s_x] = np.min(values[s_y, s_x, :, :])\n",
    "     \n",
    "text_print_pos_map(pos_map)\n",
    "  \n",
    "# Plot heatmap in the end\n",
    "plot_pos_map(-pos_map)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "nbgrader": {
     "grade": false,
     "grade_id": "cell-6bef3d58f89a83b6",
     "locked": true,
     "schema_version": 3,
     "solution": false,
     "task": false
    }
   },
   "source": [
    "## 2) On-Policy $\\varepsilon$-Greedy Control: "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "nbgrader": {
     "grade": false,
     "grade_id": "cell-0ad52e3055e4119c",
     "locked": true,
     "schema_version": 3,
     "solution": false,
     "task": false
    }
   },
   "source": [
    "Write a temporal-difference based $\\varepsilon$-greedy control algorithm to solve the rectangular course environment used above. \n",
    "Use $\\varepsilon = 0.1$, $\\alpha = 0.5$ and $\\gamma = 1$ and run $500$ episodes.\n",
    "\n",
    "Note that no initial policy is needed for TD control methods. \n",
    "\n",
    "\n",
    "Does Sarsa perform good at learning an optimal greedy policy?\n",
    "\n",
    "Change $\\alpha$ to $0.1$ and $0.9$. What do you recognize? Explain!"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "nbgrader": {
     "grade": false,
     "grade_id": "cell-4b7cde2b63748115",
     "locked": true,
     "schema_version": 3,
     "solution": false,
     "task": false
    }
   },
   "source": [
    "## 2) Solution"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "nbgrader": {
     "grade": true,
     "grade_id": "cell-88c20c864f47389e",
     "locked": false,
     "points": 0,
     "schema_version": 3,
     "solution": true,
     "task": false
    }
   },
   "source": [
    "Algorithm given below.\n",
    "\n",
    "As a soft exploration policy $\\pi$ is used for training, the $q_\\pi$ that is derived from that will be biased due to $\\pi$ being soft and not optimally greedy.\n",
    "\n",
    "Changing $\\alpha$ to 0.1 will result in a less biased policy. \n",
    "But the training will need more time because the action value updates are smaller due to the lower learning rate $\\alpha$:\n",
    "\n",
    "$q(x_\\mathrm{k}, u_\\mathrm{k}) = q(x_\\mathrm{k}, u_\\mathrm{k}) + \\alpha [r_\\mathrm{k+1} + \\gamma q(x_\\mathrm{k+1}, u_\\mathrm{k+1}) - q(x_\\mathrm{k}, u_\\mathrm{k}) ] $"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "def policy(action_values, state, deterministic, epsilon):\n",
    "    \"\"\"Decides on one of the actions in dependence of the current state.\n",
    "\n",
    "    Args:\n",
    "        action_values: The current action values\n",
    "        state: The state vector\n",
    "        deterministic: Whether actions are chosen deterministically or eps-greedily\n",
    "        epsilon: Probability for random action in eps-greedy\n",
    "\n",
    "    Returns:\n",
    "        action: The chosen action\n",
    "    \"\"\"\n",
    "    ### BEGIN SOLUTION\n",
    "\n",
    "    if epsilon < np.random.rand(1) or deterministic:\n",
    "        # argmax takes the action whose action value is the highest for the given state\n",
    "        action = np.argmax(action_values[state])\n",
    "    else:\n",
    "        action = random.choice(range(9))\n",
    "\n",
    "    ### END SOLUTION\n",
    "    return action\n",
    "\n",
    "\n",
    "def learn(action_values, state_action, next_state_action, reward, gamma, alpha):\n",
    "    \"\"\"Learn from the collected data using TD0-based prediction.\n",
    "    \n",
    "    Args:\n",
    "        action_values: The action-value estimates before the current update\n",
    "        state_action: The state+action before the last interaction\n",
    "        next_state_action: The state+action for the next interaction\n",
    "        reward: The reward for the last interaction\n",
    "        gamma: Discount factor\n",
    "        alpha: Forgetting factor\n",
    "    \"\"\"\n",
    "    ### BEGIN SOLUTION\n",
    "\n",
    "    action_values[state_action] += alpha * (reward + gamma*action_values[next_state_action]-action_values[state_action])\n",
    "\n",
    "    ### END SOLUTION\n",
    "    return action_values"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "nbgrader": {
     "grade": false,
     "grade_id": "cell-44607222bc50aac7",
     "locked": false,
     "schema_version": 3,
     "solution": true,
     "task": false
    }
   },
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "92d11cfda796493f83d205c9b79e6a10",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "episode:   0%|          | 0/500 [00:00<?, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlAAAAHHCAYAAABwaWYjAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAACv3klEQVR4nOydd3gUVRfG39nd7KaRQghJgEBCb6FDCEgTNAiIqCB2UOygSLAAIiB+AoI0FUUFxAKCFQuIRIqKID0gHZQuCSUkgYS03fn+2MxkZnZmdnaznfN7HjQ79U67973nnHsuw7IsC4IgCIIgCEIzOm8XgCAIgiAIwt8gAUUQBEEQBOEgJKAIgiAIgiAchAQUQRAEQRCEg5CAIgiCIAiCcBASUARBEARBEA5CAoogCIIgCMJBSEARBEEQBEE4CAkogiAIgiAIByEBRRAuYPjw4UhKSnJq3ylTpoBhGNcWiPALkpKSMHz4cG8XQ5WqlDEpKQkDBgxwbYEIwkcgAUUENAzDaPq3adMmbxfVKwwfPlx0HyIiItC6dWvMnj0bJSUl3i4eQXiFQ4cOoW/fvggPD0f16tXx0EMP4eLFi5r2TUpKkq1jnnrqKTeXmvA0Bm8XgCDcyWeffSb6/emnnyIzM9NmebNmzap0no8++ggWi8WpfSdOnIhx48ZV6fxVwWQyYdGiRQCAvLw8fPPNN3jhhRewY8cOrFixwmvluhE4cuQIdDrqx/oSZ8+eRffu3REZGYlp06bh2rVreOutt/D3339j+/btMBqNdo/Rpk0bjB07VrSscePG7ioy4SVIQBEBzYMPPij6/ddffyEzM9NmuZSioiKEhoZqPk9QUJBT5QMAg8EAg8F7n6LBYBDdj2eeeQapqalYuXIl5syZg1q1atnsw7IsiouLERIS4pEyOvo8/AWTyeTtIhASpk2bhsLCQuzatQt169YFAHTq1Am33HILli5diieeeMLuMWrXrm23jiH8H+r6EDc8PXv2RMuWLbFr1y50794doaGhmDBhAgDg+++/R//+/VGrVi2YTCY0aNAAr7/+Osxms+gY0hiokydPgmEYvPXWW/jwww/RoEEDmEwmdOzYETt27BDtKxcDxTAMRo0ahVWrVqFly5YwmUxo0aIF1q5da1P+TZs2oUOHDggODkaDBg3wwQcfVCmuSqfToWfPnvx1AJWxLL/88gs6dOiAkJAQfPDBBwCAf//9F0OGDEH16tURGhqKzp07Y/Xq1TbHPXXqFAYOHIiwsDDUrFkTY8aMwS+//GLjQlV7HiUlJZg8eTIaNmwIk8mExMREvPTSSzbuxszMTNx0002IiopCeHg4mjRpwh+D45133kGLFi0QGhqK6OhodOjQAcuXL1e9N0uXLgXDMPx94di0aZPNdRw7dgx333034uPjERwcjDp16uDee+9Ffn4+v400vog7/p9//omMjAzExsYiLCwMd955p40LyWKxYMqUKahVqxZCQ0PRq1cvHDx4UHPM0ltvvYUuXbogJiYGISEhaN++Pb7++mu7+3Fl/P333/Hkk08iJiYGERERePjhh3HlyhXZfTZv3oxOnTohODgY9evXx6effipan5ubixdeeAEpKSkIDw9HREQEbrvtNuzdu9dueVzNN998gwEDBvDiCQD69OmDxo0b48svv9R8nNLSUhQWFiquLysrw+HDh3H+/PkqlZfwHmSBIggAly9fxm233YZ7770XDz74IOLi4gBYG4vw8HBkZGQgPDwcGzZswKRJk1BQUIBZs2bZPe7y5ctx9epVPPnkk2AYBjNnzsRdd92Ff//9167VavPmzfj222/xzDPPoFq1anj77bdx99134/Tp04iJiQEA7NmzB3379kVCQgJee+01mM1mTJ06FbGxsVW6H//88w8A8OcBrO6m++67D08++SQef/xxNGnSBDk5OejSpQuKiorw3HPPISYmBp988gkGDhyIr7/+GnfeeScAoLCwEDfffDPOnz+P0aNHIz4+HsuXL8fGjRtlzy/3PCwWCwYOHIjNmzfjiSeeQLNmzfD3339j7ty5OHr0KFatWgUAOHDgAAYMGIBWrVph6tSpMJlMOH78OP7880/++B999BGee+45DB48GKNHj0ZxcTH27duHbdu24f7776/SvQOsjWd6ejpKSkrw7LPPIj4+HufOncNPP/2EvLw8REZGqu7/7LPPIjo6GpMnT8bJkycxb948jBo1CitXruS3GT9+PGbOnInbb78d6enp2Lt3L9LT01FcXKypjPPnz8fAgQPxwAMPoLS0FCtWrMCQIUPw008/oX///nb3HzVqFKKiojBlyhQcOXIE77//Pk6dOsWLSY7jx49j8ODBGDFiBIYNG4YlS5Zg+PDhaN++PVq0aAHAKsJXrVqFIUOGIDk5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JSUFKSkpmDhxIrZs2YKuXbti4cKF+N///qf5uuXg7uvx48dFlsHLly9rsm5+8803CA4Oxi+//CISBB9//LHmMhw7dgy9evXif1+7dg3nz59Hv379NB+D4+uvv0avXr2wePFi0fK8vDzUqFHD7v533XUXfvvtN7vb2QvYrl27NmJjY7Fz506bddu3b0ebNm3snkMOzl1Z1cEdhG9BMVAEoQDXcxb2lEtLS/Hee+95q0giOMvRqlWr8N9///HLjx8/jp9//tkjZejXrx+2b9+OrVu38ssKCwvx4YcfIikpCc2bNwcApKen49y5c/jhhx/47YqLi/HRRx9pPtc999yDc+fOye5z/fp1fsi4XC+fa/g418zly5dF641GI5o3bw6WZVVHc3Exab///ju/zGw248MPPxRtV1BQgPLyctGylJQU6HQ6l2R47927NwwGA95//33R8nfffVfT/nq9HgzDiCxnJ0+e5EcyauHDDz8U3av3338f5eXlDsXfCcsjta599dVXOHfunKb9XRUDBQB33303fvrpJ5w5c4Zftn79ehw9ehRDhgzhl8mlIcjNzbWxRpaVlWHGjBkwGo0iwUlpDPwfskARhAJdunRBdHQ0hg0bhueeew4Mw+Czzz5zuQutKkyZMgXr1q1D165d8fTTT8NsNuPdd99Fy5YtkZWV5fbzjxs3Dl988QVuu+02PPfcc6hevTo++eQTnDhxAt988w0fc/Tkk0/i3XffxX333YfRo0cjISEBy5Yt4y09WuJuHnroIXz55Zd46qmnsHHjRnTt2hVmsxmHDx/Gl19+yeeomjp1Kn7//Xf0798f9erVw4ULF/Dee++hTp06fLD7rbfeivj4eHTt2hVxcXE4dOgQ3n33XfTv3x/VqlVTLEOLFi3QuXNnjB8/Hrm5uahevTpWrFhhI5Y2bNiAUaNGYciQIWjcuDHKy8vx2WefQa/X4+6773b2dvPExcVh9OjRmD17NgYOHIi+ffti7969+Pnnn1GjRg2797N///6YM2cO+vbti/vvvx8XLlzAggUL0LBhQ+zbt09TGUpLS9G7d2/cc889OHLkCN577z3cdNNNooECWhkwYACmTp2KRx55BF26dMHff/+NZcuWoX79+pr2d1UMFABMmDABX331FXr16oXRo0fj2rVrmDVrFlJSUkQDG+TSEPzwww/43//+h8GDByM5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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Initialise action values \n",
    "action_values = np.zeros([track.bounds[0], track.bounds[1], 1+2*track.MAX_VELOCITY, 1+2*track.MAX_VELOCITY, 3, 3])\n",
    "\n",
    "cumulated_rewards = []\n",
    "q_sample = []\n",
    "\n",
    "# configuration parameters\n",
    "epsilon = 0.1   # exploration probability\n",
    "gamma = 1       # discount factor\n",
    "alpha = 0.5     # forgetting factor\n",
    "n_episodes = 500 # number of evaluated episodes\n",
    "\n",
    "# define track\n",
    "course = course\n",
    "track = RaceTrackEnv(course)\n",
    "x_size, y_size = len(course[0]), len(course)\n",
    "\n",
    "### BEGIN SOLUTION\n",
    "\n",
    "for e in tqdm(range(n_episodes), desc='episode'): \n",
    "    cumulated_reward = 0\n",
    "    \n",
    "    pos_map = np.zeros((y_size, x_size))\n",
    "    \n",
    "    state = track.reset()\n",
    "\n",
    "    # get first action\n",
    "    action = policy(action_values, state, False, epsilon)\n",
    "    action = track.action_to_tuple(action)\n",
    "    state_action = track.state_action(state, action)\n",
    "\n",
    "    # episodes do not terminate by time limit\n",
    "    while True:\n",
    "        pos_map[state[0], state[1]] += 1  # exploration map\n",
    "\n",
    "        next_state, reward, terminated, truncated, _ = track.step(action)\n",
    "        if truncated:\n",
    "            next_state = track.reset()\n",
    "\n",
    "        # get action for the next step\n",
    "        next_action = policy(action_values, next_state, False, epsilon)\n",
    "        next_action = track.action_to_tuple(next_action)\n",
    "        next_state_action = track.state_action(next_state, next_action)\n",
    "        \n",
    "        action_values = learn(\n",
    "            action_values, state_action, next_state_action, reward, gamma, alpha\n",
    "        )\n",
    "\n",
    "        # save variables for the next iteration\n",
    "        action = next_action\n",
    "        state = next_state\n",
    "        state_action = next_state_action\n",
    "\n",
    "        cumulated_reward += reward\n",
    "        if terminated:\n",
    "            break\n",
    "    \n",
    "    cumulated_rewards.append(cumulated_reward)      \n",
    "        \n",
    "### END SOLUTION    \n",
    "    \n",
    "plt.plot(cumulated_rewards)\n",
    "plt.title('Training Progress using alpha = {}:'.format(alpha))\n",
    "plt.xlabel('Episode')\n",
    "plt.ylabel('Cumulated Reward')\n",
    "plt.ylim(-2000, 0) \n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "nbgrader": {
     "grade": false,
     "grade_id": "cell-c0313d5e344bffb6",
     "locked": true,
     "schema_version": 3,
     "solution": false,
     "task": false
    }
   },
   "source": [
    "Use the following code to apply the best policy. Due to the random start position, do $5$ iterations."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "nbgrader": {
     "grade": false,
     "grade_id": "cell-1f62b782c8ee360f",
     "locked": true,
     "schema_version": 3,
     "solution": false,
     "task": false
    },
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Sample trajectory on learned policy in episode 0:\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Sample trajectory on learned policy in episode 1:\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeIAAAGdCAYAAADOnXC3AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAVkElEQVR4nO3db2xVhfnA8aeUURrSNorjT2PRzpiggM5ZIMqyP5FoDJq5JW4muBB8s2xVQBIjbEFjHFbcZox/guILxwtBfYM6E10IU4xRLIIYzTbQaGajAWbierFu1bTn98JZ1x+IvbXtc7n9fJIT0tNzuE/Oae83597be2uKoigCAEgxIXsAABjPhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgEQTx/oG+/v74/3334+GhoaoqakZ65sHgFFXFEUcOXIkmpubY8KE41/zjnmI33///WhpaRnrmwWAMdfV1RWnnnrqcbcZ8xA3NDRERMTkiHA9DEA1KiLiP/FF845nzEP8+cPRNSHEAFS3oTwF68VaAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQKJhhfi+++6L008/PSZPnhwLFy6Mzs7OkZ4LAMaFskP86KOPxurVq+Pmm2+OvXv3xrnnnhuXXHJJHD58eDTmA4CqVlMURVHODgsXLoz58+fHvffeGxER/f390dLSEtddd12sWbPmK/cvlUrR1NQU9eHTlwCoTkVE/Dsiuru7o7Gx8bjblnVF/Mknn8SePXti8eLFX/wHEybE4sWL46WXXjrmPr29vVEqlQYtAMBnygrxBx98EH19fTF9+vRB66dPnx4HDx485j4dHR3R1NQ0sLS0tAx/WgCoMqP+qum1a9dGd3f3wNLV1TXaNwkAJ4yJ5Wx8yimnRG1tbRw6dGjQ+kOHDsWMGTOOuU9dXV3U1dUNf0IAqGJlXRFPmjQpzj///NixY8fAuv7+/tixY0dccMEFIz4cAFS7sq6IIyJWr14dy5Yti7a2tliwYEHcdddd0dPTE8uXLx+N+QCgqpUd4p/97Gfxz3/+M2666aY4ePBgfPvb345nnnnmqBdwAQBfrey/I/66/B0xANVu1P6OGAAYWUIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASlf2hD9Wq5+XsCagqC8b0LdyHZEpN5b27e0X+3lXguatInZX38zRlYfYEw+OKGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEhUVog7Ojpi/vz50dDQENOmTYsrrrgi9u/fP1qzAUDVKyvEO3fujPb29ti1a1ds3749Pv3007j44oujp6dntOYDgKo2sZyNn3nmmUFf//GPf4xp06bFnj174nvf+96IDgYA40FZIf7/uru7IyLi5JNP/tJtent7o7e3d+DrUqn0dW4SAKrKsF+s1d/fH6tWrYpFixbF3Llzv3S7jo6OaGpqGlhaWlqGe5MAUHWGHeL29vZ444034pFHHjnudmvXro3u7u6Bpaura7g3CQBVZ1gPTV977bXx1FNPxfPPPx+nnnrqcbetq6uLurq6YQ0HANWurBAXRRHXXXddbNu2LZ577rlobW0drbkAYFwoK8Tt7e2xZcuWeOKJJ6KhoSEOHjwYERFNTU1RX18/KgMCQDUr6znijRs3Rnd3d/zgBz+ImTNnDiyPPvroaM0HAFWt7IemAYCR472mASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgETD+jziqrTA+2gPSWdN9gQwuvyMM8ZcEQNAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEk3MHoATy5SF2ROcKGqyBzgh+Hkamp6iyB7haJ1+xkeKK2IASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAib5WiG+//faoqamJVatWjdA4ADC+DDvEu3fvjgceeCDOOeeckZwHAMaVYYX4o48+iqVLl8aDDz4YJ5100kjPBADjxrBC3N7eHkuWLInFixd/5ba9vb1RKpUGLQDAZyaWu8MjjzwSe/fujd27dw9p+46OjrjlllvKHgwAxoOyroi7urpi5cqV8fDDD8fkyZOHtM/atWuju7t7YOnq6hrWoABQjWqKoiiGuvHjjz8eP/7xj6O2tnZgXV9fX9TU1MSECROit7d30PeOpVQqRVNTU9RHRM2wxx55PUM/DOPalJpKOmswPlTk/VNn5d0XTFmYPcEXioj4d0R0d3dHY2Pjcbct66Hpiy66KF5//fVB65YvXx6zZ8+OG2+88SsjDAAMVlaIGxoaYu7cuYPWTZkyJaZOnXrUegDgq3lnLQBIVParpv+/5557bgTGAIDxyRUxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkOhrv9d01ajAz9YEoPq5IgaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJJqYPQDHsaDInuAoPZU3UkRnTfYER6vAc1eRnDtwRQwAmYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgUdkhfu+99+Lqq6+OqVOnRn19fcybNy9eeeWV0ZgNAKpeWZ9H/OGHH8aiRYvihz/8YTz99NPxzW9+M95888046aSTRms+AKhqZYV4w4YN0dLSEg899NDAutbW1hEfCgDGi7Iemn7yySejra0trrzyypg2bVqcd9558eCDDx53n97e3iiVSoMWAOAzZYX47bffjo0bN8aZZ54Zf/7zn+OXv/xlrFixIjZv3vyl+3R0dERTU9PA0tLS8rWHBoBqUVMURTHUjSdNmhRtbW3x4osvDqxbsWJF7N69O1566aVj7tPb2xu9vb0DX5dKpWhpaYn6iKgZ/twjrufl7AmOYcGQT8341llJP0n/5dwNjXN34qrAczdlYfYEXygi4t8R0d3dHY2Njcfdtqwr4pkzZ8bZZ589aN1ZZ50V77777pfuU1dXF42NjYMWAOAzZYV40aJFsX///kHrDhw4EKeddtqIDgUA40VZIb7++utj165dcdttt8Vbb70VW7ZsiU2bNkV7e/tozQcAVa2sEM+fPz+2bdsWW7dujblz58att94ad911VyxdunS05gOAqlbW3xFHRFx22WVx2WWXjcYsADDueK9pAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIFHZ7zXNGKrAD96uyA9Nr8SZnLuhqcSZGJqKPHcV+Hs3BK6IASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJJmYPwAmmsyZ7gqMtKLInOFolzuTcnbgq8dwxYlwRA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEhUVoj7+vpi3bp10draGvX19XHGGWfErbfeGkXho8wAYDjK+jziDRs2xMaNG2Pz5s0xZ86ceOWVV2L58uXR1NQUK1asGK0ZAaBqlRXiF198MX70ox/FkiVLIiLi9NNPj61bt0ZnZ+eoDAcA1a6sh6YvvPDC2LFjRxw4cCAiIl577bV44YUX4tJLL/3SfXp7e6NUKg1aAIDPlHVFvGbNmiiVSjF79uyora2Nvr6+WL9+fSxduvRL9+no6Ihbbrnlaw8KANWorCvixx57LB5++OHYsmVL7N27NzZv3hy///3vY/PmzV+6z9q1a6O7u3tg6erq+tpDA0C1KOuK+IYbbog1a9bEVVddFRER8+bNi3/84x/R0dERy5YtO+Y+dXV1UVdX9/UnBYAqVNYV8ccffxwTJgzepba2Nvr7+0d0KAAYL8q6Ir788stj/fr1MWvWrJgzZ068+uqrceedd8Y111wzWvMBQFUrK8T33HNPrFu3Ln71q1/F4cOHo7m5OX7xi1/ETTfdNFrzAUBVqynG+G2xSqVSNDU1RX1E1IzlDX+FnpezJ2DYFnhntyHprKTfuP9y7oamEs9dBZqyMHuCLxQR8e+I6O7ujsbGxuNu672mASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERlfehDNauk9yilXN6H98Tl3IErYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASDRxLG+waIoPvt3rG8YAMbI5437vHnHM+YhPnLkSERE/GesbxgAxtiRI0eiqanpuNvUFEPJ9Qjq7++P999/PxoaGqKmpmbY/0+pVIqWlpbo6uqKxsbGEZywujhOQ+M4DY3jNDSO09BU83EqiiKOHDkSzc3NMWHC8Z8FHvMr4gkTJsSpp546Yv9fY2Nj1Z3A0eA4DY3jNDSO09A4TkNTrcfpq66EP+fFWgCQSIgBINEJG+K6urq4+eabo66uLnuUiuY4DY3jNDSO09A4TkPjOH1mzF+sBQB84YS9IgaAaiDEAJBIiAEgkRADQKITNsT33XdfnH766TF58uRYuHBhdHZ2Zo9UUTo6OmL+/PnR0NAQ06ZNiyuuuCL279+fPVZFu/3226OmpiZWrVqVPUrFee+99+Lqq6+OqVOnRn19fcybNy9eeeWV7LEqSl9fX6xbty5aW1ujvr4+zjjjjLj11luH9F7D1ez555+Pyy+/PJqbm6OmpiYef/zxQd8viiJuuummmDlzZtTX18fixYvjzTffzBk2yQkZ4kcffTRWr14dN998c+zduzfOPffcuOSSS+Lw4cPZo1WMnTt3Rnt7e+zatSu2b98en376aVx88cXR09OTPVpF2r17dzzwwANxzjnnZI9ScT788MNYtGhRfOMb34inn346/vrXv8Yf/vCHOOmkk7JHqygbNmyIjRs3xr333ht/+9vfYsOGDXHHHXfEPffckz1aqp6enjj33HPjvvvuO+b377jjjrj77rvj/vvvj5dffjmmTJkSl1xySfznP+PoEwmKE9CCBQuK9vb2ga/7+vqK5ubmoqOjI3Gqynb48OEiIoqdO3dmj1Jxjhw5Upx55pnF9u3bi+9///vFypUrs0eqKDfeeGPx3e9+N3uMirdkyZLimmuuGbTuJz/5SbF06dKkiSpPRBTbtm0b+Lq/v7+YMWNG8bvf/W5g3b/+9a+irq6u2Lp1a8KEOU64K+JPPvkk9uzZE4sXLx5YN2HChFi8eHG89NJLiZNVtu7u7oiIOPnkk5MnqTzt7e2xZMmSQT9TfOHJJ5+Mtra2uPLKK2PatGlx3nnnxYMPPpg9VsW58MILY8eOHXHgwIGIiHjttdfihRdeiEsvvTR5ssr1zjvvxMGDBwf97jU1NcXChQvH1f35mH/ow9f1wQcfRF9fX0yfPn3Q+unTp8ff//73pKkqW39/f6xatSoWLVoUc+fOzR6nojzyyCOxd+/e2L17d/YoFevtt9+OjRs3xurVq+PXv/517N69O1asWBGTJk2KZcuWZY9XMdasWROlUilmz54dtbW10dfXF+vXr4+lS5dmj1axDh48GBFxzPvzz783HpxwIaZ87e3t8cYbb8QLL7yQPUpF6erqipUrV8b27dtj8uTJ2eNUrP7+/mhra4vbbrstIiLOO++8eOONN+L+++8X4v/x2GOPxcMPPxxbtmyJOXPmxL59+2LVqlXR3NzsOHFcJ9xD06ecckrU1tbGoUOHBq0/dOhQzJgxI2mqynXttdfGU089Fc8+++yIfvxkNdizZ08cPnw4vvOd78TEiRNj4sSJsXPnzrj77rtj4sSJ0dfXlz1iRZg5c2acffbZg9adddZZ8e677yZNVJluuOGGWLNmTVx11VUxb968+PnPfx7XX399dHR0ZI9WsT6/zx7v9+cnXIgnTZoU559/fuzYsWNgXX9/f+zYsSMuuOCCxMkqS1EUce2118a2bdviL3/5S7S2tmaPVHEuuuiieP3112Pfvn0DS1tbWyxdujT27dsXtbW12SNWhEWLFh31p28HDhyI0047LWmiyvTxxx8f9QHwtbW10d/fnzRR5WttbY0ZM2YMuj8vlUrx8ssvj6v78xPyoenVq1fHsmXLoq2tLRYsWBB33XVX9PT0xPLly7NHqxjt7e2xZcuWeOKJJ6KhoWHg+Zampqaor69Pnq4yNDQ0HPWc+ZQpU2Lq1KmeS/8f119/fVx44YVx2223xU9/+tPo7OyMTZs2xaZNm7JHqyiXX355rF+/PmbNmhVz5syJV199Ne6888645pprskdL9dFHH8Vbb7018PU777wT+/bti5NPPjlmzZoVq1atit/+9rdx5plnRmtra6xbty6am5vjiiuuyBt6rGW/bHu47rnnnmLWrFnFpEmTigULFhS7du3KHqmiRMQxl4ceeih7tIrmz5eO7U9/+lMxd+7coq6urpg9e3axadOm7JEqTqlUKlauXFnMmjWrmDx5cvGtb32r+M1vflP09vZmj5bq2WefPeZ90bJly4qi+OxPmNatW1dMnz69qKurKy666KJi//79uUOPMR+DCACJTrjniAGgmggxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkOj/AKAX/t4JDsGYAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Sample trajectory on learned policy in episode 2:\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeIAAAGdCAYAAADOnXC3AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAVkElEQVR4nO3db2xVhfnA8aeUURrSNorjT2PRzpiggM5ZIMqyP5FoDJq5JW4muBB8s2xVQBIjbEFjHFbcZox/guILxwtBfYM6E10IU4xRLIIYzTbQaGajAWbierFu1bTn98JZ1x+IvbXtc7n9fJIT0tNzuE/Oae83597be2uKoigCAEgxIXsAABjPhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgEQTx/oG+/v74/3334+GhoaoqakZ65sHgFFXFEUcOXIkmpubY8KE41/zjnmI33///WhpaRnrmwWAMdfV1RWnnnrqcbcZ8xA3NDRERMTkiHA9DEA1KiLiP/FF845nzEP8+cPRNSHEAFS3oTwF68VaAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQKJhhfi+++6L008/PSZPnhwLFy6Mzs7OkZ4LAMaFskP86KOPxurVq+Pmm2+OvXv3xrnnnhuXXHJJHD58eDTmA4CqVlMURVHODgsXLoz58+fHvffeGxER/f390dLSEtddd12sWbPmK/cvlUrR1NQU9eHTlwCoTkVE/Dsiuru7o7Gx8bjblnVF/Mknn8SePXti8eLFX/wHEybE4sWL46WXXjrmPr29vVEqlQYtAMBnygrxBx98EH19fTF9+vRB66dPnx4HDx485j4dHR3R1NQ0sLS0tAx/WgCoMqP+qum1a9dGd3f3wNLV1TXaNwkAJ4yJ5Wx8yimnRG1tbRw6dGjQ+kOHDsWMGTOOuU9dXV3U1dUNf0IAqGJlXRFPmjQpzj///NixY8fAuv7+/tixY0dccMEFIz4cAFS7sq6IIyJWr14dy5Yti7a2tliwYEHcdddd0dPTE8uXLx+N+QCgqpUd4p/97Gfxz3/+M2666aY4ePBgfPvb345nnnnmqBdwAQBfrey/I/66/B0xANVu1P6OGAAYWUIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASlf2hD9Wq5+XsCagqC8b0LdyHZEpN5b27e0X+3lXguatInZX38zRlYfYEw+OKGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEhUVog7Ojpi/vz50dDQENOmTYsrrrgi9u/fP1qzAUDVKyvEO3fujPb29ti1a1ds3749Pv3007j44oujp6dntOYDgKo2sZyNn3nmmUFf//GPf4xp06bFnj174nvf+96IDgYA40FZIf7/uru7IyLi5JNP/tJtent7o7e3d+DrUqn0dW4SAKrKsF+s1d/fH6tWrYpFixbF3Llzv3S7jo6OaGpqGlhaWlqGe5MAUHWGHeL29vZ444034pFHHjnudmvXro3u7u6Bpaura7g3CQBVZ1gPTV977bXx1FNPxfPPPx+nnnrqcbetq6uLurq6YQ0HANWurBAXRRHXXXddbNu2LZ577rlobW0drbkAYFwoK8Tt7e2xZcuWeOKJJ6KhoSEOHjwYERFNTU1RX18/KgMCQDUr6znijRs3Rnd3d/zgBz+ImTNnDiyPPvroaM0HAFWt7IemAYCR472mASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgETD+jziqrTA+2gPSWdN9gQwuvyMM8ZcEQNAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEk3MHoATy5SF2ROcKGqyBzgh+Hkamp6iyB7haJ1+xkeKK2IASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAib5WiG+//faoqamJ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tyHprKTfuP9y7oamEs9dBZqyMHuCLxQR8e+I6O7ujsbGxuNu672mASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERlfehDNauk9yilXN6H98Tl3IErYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASDRxLG+waIoPvt3rG8YAMbI5437vHnHM+YhPnLkSERE/GesbxgAxtiRI0eiqanpuNvUFEPJ9Qjq7++P999/PxoaGqKmpmbY/0+pVIqWlpbo6uqKxsbGEZywujhOQ+M4DY3jNDSO09BU83EqiiKOHDkSzc3NMWHC8Z8FHvMr4gkTJsSpp546Yv9fY2Nj1Z3A0eA4DY3jNDSO09A4TkNTrcfpq66EP+fFWgCQSIgBINEJG+K6urq4+eabo66uLnuUiuY4DY3jNDSO09A4TkPjOH1mzF+sBQB84YS9IgaAaiDEAJBIiAEgkRADQKITNsT33XdfnH766TF58uRYuHBhdHZ2Zo9UUTo6OmL+/PnR0NAQ06ZNiyuuuCL279+fPVZFu/3226OmpiZWrVqVPUrFee+99+Lqq6+OqVOnRn19fcybNy9eeeWV7LEqSl9fX6xbty5aW1ujvr4+zjjjjLj11luH9F7D1ez555+Pyy+/PJqbm6OmpiYef/zxQd8viiJuuummmDlzZtTX18fixYvjzTffzBk2yQkZ4kcffTRWr14dN998c+zduzfOPffcuOSSS+Lw4cPZo1WMnTt3Rnt7e+zatSu2b98en376aVx88cXR09OTPVpF2r17dzzwwANxzjnnZI9ScT788MNYtGhRfOMb34inn346/vrXv8Yf/vCHOOmkk7JHqygbNmyIjRs3xr333ht/+9vfYsOGDXHHHXfEPffckz1aqp6enjj33HPjvvvuO+b377jjjrj77rvj/vvvj5dffjmmTJkSl1xySfznP+PoEwmKE9CCBQuK9vb2ga/7+vqK5ubmoqOjI3Gqynb48OEiIoqdO3dmj1Jxjhw5Upx55pnF9u3bi+9///vFypUrs0eqKDfeeGPx3e9+N3uMirdkyZLimmuuGbTuJz/5SbF06dKkiSpPRBTbtm0b+Lq/v7+YMWNG8bvf/W5g3b/+9a+irq6u2Lp1a8KEOU64K+JPPvkk9uzZE4sXLx5YN2HChFi8eHG89NJLiZNVtu7u7oiIOPnkk5MnqTzt7e2xZMmSQT9TfOHJJ5+Mtra2uPLKK2PatGlx3nnnxYMPPpg9VsW58MILY8eOHXHgwIGIiHjttdfihRdeiEsvvTR5ssr1zjvvxMGDBwf97jU1NcXChQvH1f35mH/ow9f1wQcfRF9fX0yfPn3Q+unTp8ff//73pKkqW39/f6xatSoWLVoUc+fOzR6nojzyyCOxd+/e2L17d/YoFevtt9+OjRs3xurVq+PXv/517N69O1asWBGTJk2KZcuWZY9XMdasWROlUilmz54dtbW10dfXF+vXr4+lS5dmj1axDh48GBFxzPvzz783HpxwIaZ87e3t8cYbb8QLL7yQPUpF6erqipUrV8b27dtj8uTJ2eNUrP7+/mhra4vbbrstIiLOO++8eOONN+L+++8X4v/x2GOPxcMPPxxbtmyJOXPmxL59+2LVqlXR3NzsOHFcJ9xD06ecckrU1tbGoUOHBq0/dOhQzJgxI2mqynXttdfGU089Fc8+++yIfvxkNdizZ08cPnw4vvOd78TEiRNj4sSJsXPnzrj77rtj4sSJ0dfXlz1iRZg5c2acffbZg9adddZZ8e677yZNVJluuOGGWLNmTVx11VUxb968+PnPfx7XX399dHR0ZI9WsT6/zx7v9+cnXIgnTZoU559/fuzYsWNgXX9/f+zYsSMuuOCCxMkqS1EUce2118a2bdviL3/5S7S2tmaPVHEuuuiieP3112Pfvn0DS1tbWyxdujT27dsXtbW12SNWhEWLFh31p28HDhyI0047LWmiyvTxxx8f9QHwtbW10d/fnzRR5WttbY0ZM2YMuj8vlUrx8ssvj6v78xPyoenVq1fHsmXLoq2tLRYsWBB33XVX9PT0xPLly7NHqxjt7e2xZcuWeOKJJ6KhoWHg+Zampqaor69Pnq4yNDQ0HPWc+ZQpU2Lq1KmeS/8f119/fVx44YVx2223xU9/+tPo7OyMTZs2xaZNm7JHqyiXX355rF+/PmbNmhVz5syJV199Ne6888645pprskdL9dFHH8Vbb7018PU777wT+/bti5NPPjlmzZoVq1atit/+9rdx5plnRmtra6xbty6am5vjiiuuyBt6rGW/bHu47rnnnmLWrFnFpEmTigULFhS7du3KHqmiRMQxl4ceeih7tIrmz5eO7U9/+lMxd+7coq6urpg9e3axadOm7JEqTqlUKlauXFnMmjWrmDx5cvGtb32r+M1vflP09vZmj5bq2WefPeZ90bJly4qi+OxPmNatW1dMnz69qKurKy666KJi//79uUOPMR+DCACJTrjniAGgmggxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkOj/AKAX/t4JDsGYAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Sample trajectory on learned policy in episode 3:\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeIAAAGdCAYAAADOnXC3AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAVkElEQVR4nO3db2xVhfnA8aeUURrSNorjT2PRzpiggM5ZIMqyP5FoDJq5JW4muBB8s2xVQBIjbEFjHFbcZox/guILxwtBfYM6E10IU4xRLIIYzTbQaGajAWbierFu1bTn98JZ1x+IvbXtc7n9fJIT0tNzuE/Oae83597be2uKoigCAEgxIXsAABjPhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgEQTx/oG+/v74/3334+GhoaoqakZ65sHgFFXFEUcOXIkmpubY8KE41/zjnmI33///WhpaRnrmwWAMdfV1RWnnnrqcbcZ8xA3NDRERMTkiHA9DEA1KiLiP/FF845nzEP8+cPRNSHEAFS3oTwF68VaAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQKJhhfi+++6L008/PSZPnhwLFy6Mzs7OkZ4LAMaFskP86KOPxurVq+Pmm2+OvXv3xrnnnhuXXHJJHD58eDTmA4CqVlMURVHODgsXLoz58+fHvffeGxER/f390dLSEtddd12sWbPmK/cvlUrR1NQU9eHTlwCoTkVE/Dsiuru7o7Gx8bjblnVF/Mknn8SePXti8eLFX/wHEybE4sWL46WXXjrmPr29vVEqlQYtAMBnygrxBx98EH19fTF9+vRB66dPnx4HDx485j4dHR3R1NQ0sLS0tAx/WgCoMqP+qum1a9dGd3f3wNLV1TXaNwkAJ4yJ5Wx8yimnRG1tbRw6dGjQ+kOHDsWMGTOOuU9dXV3U1dUNf0IAqGJlXRFPmjQpzj///NixY8fAuv7+/tixY0dccMEFIz4cAFS7sq6IIyJWr14dy5Yti7a2tliwYEHcdddd0dPTE8uXLx+N+QCgqpUd4p/97Gfxz3/+M2666aY4ePBgfPvb345nnnnmqBdwAQBfrey/I/66/B0xANVu1P6OGAAYWUIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASlf2hD9Wq5+XsCagqC8b0LdyHZEpN5b27e0X+3lXguatInZX38zRlYfYEw+OKGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEhUVog7Ojpi/vz50dDQENOmTYsrrrgi9u/fP1qzAUDVKyvEO3fujPb29ti1a1ds3749Pv3007j44oujp6dntOYDgKo2sZyNn3nmmUFf//GPf4xp06bFnj174nvf+96IDgYA40FZIf7/uru7IyLi5JNP/tJtent7o7e3d+DrUqn0dW4SAKrKsF+s1d/fH6tWrYpFixbF3Llzv3S7jo6OaGpqGlhaWlqGe5MAUHWGHeL29vZ444034pFHHjnudmvXro3u7u6Bpaura7g3CQBVZ1gPTV977bXx1FNPxfPPPx+nnnrqcbetq6uLurq6YQ0HANWurBAXRRHXXXddbNu2LZ577rlobW0drbkAYFwoK8Tt7e2xZcuWeOKJJ6KhoSEOHjwYERFNTU1RX18/KgMCQDUr6znijRs3Rnd3d/zgBz+ImTNnDiyPPvroaM0HAFWt7IemAYCR472mASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgETD+jziqrTA+2gPSWdN9gQwuvyMM8ZcEQNAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEk3MHoATy5SF2ROcKGqyBzgh+Hkamp6iyB7haJ1+xkeKK2IASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAib5WiG+//faoqamJ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tyHprKTfuP9y7oamEs9dBZqyMHuCLxQR8e+I6O7ujsbGxuNu672mASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERlfehDNauk9yilXN6H98Tl3IErYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASDRxLG+waIoPvt3rG8YAMbI5437vHnHM+YhPnLkSERE/GesbxgAxtiRI0eiqanpuNvUFEPJ9Qjq7++P999/PxoaGqKmpmbY/0+pVIqWlpbo6uqKxsbGEZywujhOQ+M4DY3jNDSO09BU83EqiiKOHDkSzc3NMWHC8Z8FHvMr4gkTJsSpp546Yv9fY2Nj1Z3A0eA4DY3jNDSO09A4TkNTrcfpq66EP+fFWgCQSIgBINEJG+K6urq4+eabo66uLnuUiuY4DY3jNDSO09A4TkPjOH1mzF+sBQB84YS9IgaAaiDEAJBIiAEgkRADQKITNsT33XdfnH766TF58uRYuHBhdHZ2Zo9UUTo6OmL+/PnR0NAQ06ZNiyuuuCL279+fPVZFu/3226OmpiZWrVqVPUrFee+99+Lqq6+OqVOnRn19fcybNy9eeeWV7LEqSl9fX6xbty5aW1ujvr4+zjjjjLj11luH9F7D1ez555+Pyy+/PJqbm6OmpiYef/zxQd8viiJuuummmDlzZtTX18fixYvjzTffzBk2yQkZ4kcffTRWr14dN998c+zduzfOPffcuOSSS+Lw4cPZo1WMnTt3Rnt7e+zatSu2b98en376aVx88cXR09OTPVpF2r17dzzwwANxzjnnZI9ScT788MNYtGhRfOMb34inn346/vrXv8Yf/vCHOOmkk7JHqygbNmyIjRs3xr333ht/+9vfYsOGDXHHHXfEPffckz1aqp6enjj33HPjvvvuO+b377jjjrj77rvj/vvvj5dffjmmTJkSl1xySfznP+PoEwmKE9CCBQuK9vb2ga/7+vqK5ubmoqOjI3Gqynb48OEiIoqdO3dmj1Jxjhw5Upx55pnF9u3bi+9///vFypUrs0eqKDfeeGPx3e9+N3uMirdkyZLimmuuGbTuJz/5SbF06dKkiSpPRBTbtm0b+Lq/v7+YMWNG8bvf/W5g3b/+9a+irq6u2Lp1a8KEOU64K+JPPvkk9uzZE4sXLx5YN2HChFi8eHG89NJLiZNVtu7u7oiIOPnkk5MnqTzt7e2xZMmSQT9TfOHJJ5+Mtra2uPLKK2PatGlx3nnnxYMPPpg9VsW58MILY8eOHXHgwIGIiHjttdfihRdeiEsvvTR5ssr1zjvvxMGDBwf97jU1NcXChQvH1f35mH/ow9f1wQcfRF9fX0yfPn3Q+unTp8ff//73pKkqW39/f6xatSoWLVoUc+fOzR6nojzyyCOxd+/e2L17d/YoFevtt9+OjRs3xurVq+PXv/517N69O1asWBGTJk2KZcuWZY9XMdasWROlUilmz54dtbW10dfXF+vXr4+lS5dmj1axDh48GBFxzPvzz783HpxwIaZ87e3t8cYbb8QLL7yQPUpF6erqipUrV8b27dtj8uTJ2eNUrP7+/mhra4vbbrstIiLOO++8eOONN+L+++8X4v/x2GOPxcMPPxxbtmyJOXPmxL59+2LVqlXR3NzsOHFcJ9xD06ecckrU1tbGoUOHBq0/dOhQzJgxI2mqynXttdfGU089Fc8+++yIfvxkNdizZ08cPnw4vvOd78TEiRNj4sSJsXPnzrj77rtj4sSJ0dfXlz1iRZg5c2acffbZg9adddZZ8e677yZNVJluuOGGWLNmTVx11VUxb968+PnPfx7XX399dHR0ZI9WsT6/zx7v9+cnXIgnTZoU559/fuzYsWNgXX9/f+zYsSMuuOCCxMkqS1EUce2118a2bdviL3/5S7S2tmaPVHEuuuiieP3112Pfvn0DS1tbWyxdujT27dsXtbW12SNWhEWLFh31p28HDhyI0047LWmiyvTxxx8f9QHwtbW10d/fnzRR5WttbY0ZM2YMuj8vlUrx8ssvj6v78xPyoenVq1fHsmXLoq2tLRYsWBB33XVX9PT0xPLly7NHqxjt7e2xZcuWeOKJJ6KhoWHg+Zampqaor69Pnq4yNDQ0HPWc+ZQpU2Lq1KmeS/8f119/fVx44YVx2223xU9/+tPo7OyMTZs2xaZNm7JHqyiXX355rF+/PmbNmhVz5syJV199Ne6888645pprskdL9dFHH8Vbb7018PU777wT+/bti5NPPjlmzZoVq1atit/+9rdx5plnRmtra6xbty6am5vjiiuuyBt6rGW/bHu47rnnnmLWrFnFpEmTigULFhS7du3KHqmiRMQxl4ceeih7tIrmz5eO7U9/+lMxd+7coq6urpg9e3axadOm7JEqTqlUKlauXFnMmjWrmDx5cvGtb32r+M1vflP09vZmj5bq2WefPeZ90bJly4qi+OxPmNatW1dMnz69qKurKy666KJi//79uUOPMR+DCACJTrjniAGgmggxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkOj/AKAX/t4JDsGYAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Sample trajectory on learned policy in episode 4:\n"
     ]
    },
    {
     "data": {
      "image/png": "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wYOD9h06dCjOOOOMYR0KAMaLikJ84403xu7du+OOO+6It956K7Zu3RqbN2+O9vb2kZoPAGpaRSFesGBBbN++PR577LGYN29e3H777XHPPffEsmXLRmo+AKhpFb1YaziUy+VoamryYi1qmxdrDY0XazGMxsWLtQCA4SXEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEg0cTsAaAmeQ/lofGe3AyrsflzZ0UMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEg0MXsAAL5GZ132BIwgK2IASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiSoKcV9fX6xfvz5aW1ujoaEhzjrrrLj99tujKIqRmg8AalpFn0e8cePG2LRpU2zZsiXmzp0br7zySqxYsSKamppi5cqVIzUjANSsikL80ksvxY9//ONYunRpRESceeaZ8dhjj0VnZ+eIDAcAta6ih6YvueSS2LlzZxw6dCgiIl577bV48cUX44orrvjKc3p7e6NcLg/aAIDPVLQiXrt2bZTL5ZgzZ07U19dHX19fbNiwIZYtW/aV53R0dMRtt932jQcFgFpU0Yr4iSeeiEcffTS2bt0a+/fvjy1btsTvf//72LJly1ees27duuju7h7Yurq6vvHQAFArKloR33TTTbF27dq45pprIiJi/vz58c9//jM6Ojpi+fLlxz2nVCpFqVT65pMCQA2qaEX88ccfx4QJg0+pr6+P/v7+YR0KAMaLilbEV155ZWzYsCFmz54dc+fOjVdffTXuvvvuuO6660ZqPgCoaRWF+L777ov169fHr371qzh69Gg0NzfHL37xi7jllltGaj4AqGl1xSi/LVa5XI6mpqZoiIi60bzhr9GzJ3sCGIcWele+IemspnvL6jVlUfYEXygi4j8R0d3dHVOnTj3hsd5rGgASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEhU0Yc+1LJqeo9SGD+8hzJYEQNAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJJo72DRZF8dmfo33DADBKPm/c5807kVEP8bFjxyIi4r+jfcMAMMqOHTsWTU1NJzymrhhKrodRf39/vP/++9HY2Bh1dXUn/X3K5XK0tLREV1dXTJ06dRgnrC2u09C4TkPjOg2N6zQ0tXydiqKIY8eORXNzc0yYcOJngUd9RTxhwoQ4/fTTh+37TZ06teb+AUeC6zQ0rtPQuE5D4zoNTa1ep69bCX/Oi7UAIJEQA0CiMRviUqkUt956a5RKpexRqprrNDSu09C4TkPjOg2N6/SZUX+xFgDwhTG7IgaAWiDEAJBIiAEgkRADQKIxG+IHHnggzjzzzJg8eXIsWrQoOjs7s0eqKh0dHbFgwYJobGyM6dOnx1VXXRUHDx7MHquq3XnnnVFXVxerV6/OHqXqvPfee3HttdfGtGnToqGhIebPnx+vvPJK9lhVpa+vL9avXx+tra3R0NAQZ511Vtx+++1Deq/hWvbCCy/ElVdeGc3NzVFXVxd/+tOfBv19URRxyy23xKxZs6KhoSGWLFkSb775Zs6wScZkiLdt2xZr1qyJW2+9Nfbv3x/nn39+XH755XH06NHs0arGrl27or29PXbv3h07duyITz/9NC677LLo6enJHq0q7d27Nx566KE477zzskepOh9++GEsXrw4vvWtb8UzzzwTf/vb3+IPf/hDnHLKKdmjVZWNGzfGpk2b4v7774+///3vsXHjxrjrrrvivvvuyx4tVU9PT5x//vnxwAMPHPfv77rrrrj33nvjwQcfjD179sSUKVPi8ssvj//+dxx9IkExBi1cuLBob28f+Lqvr69obm4uOjo6EqeqbkePHi0ioti1a1f2KFXn2LFjxdlnn13s2LGj+MEPflCsWrUqe6SqcvPNNxff+973sseoekuXLi2uu+66Qft+8pOfFMuWLUuaqPpERLF9+/aBr/v7+4uZM2cWv/vd7wb2/fvf/y5KpVLx2GOPJUyYY8ytiD/55JPYt29fLFmyZGDfhAkTYsmSJfHyyy8nTlbduru7IyLi1FNPTZ6k+rS3t8fSpUsH/Z/iC0899VS0tbXF1VdfHdOnT48LLrggHn744eyxqs4ll1wSO3fujEOHDkVExGuvvRYvvvhiXHHFFcmTVa933nknDh8+POhnr6mpKRYtWjSu7s9H/UMfvqkPPvgg+vr6YsaMGYP2z5gxI/7xj38kTVXd+vv7Y/Xq1bF48eKYN29e9jhV5fHHH4/9+/fH3r17s0epWm+//XZs2rQp1qxZE7/+9a9j7969sXLlypg0aVIsX748e7yqsXbt2iiXyzFnzpyor6+Pvr6+2LBhQyxbtix7tKp1+PDhiIjj3p9//nfjwZgLMZVrb2+PN954I1588cXsUapKV1dXrFq1Knbs2BGTJ0/OHqdq9ff3R1tbW9xxxx0REXHBBRfEG2+8EQ8++KAQ/48nnngiHn300di6dWvMnTs3Dhw4EKtXr47m5mbXiRMacw9Nn3baaVFfXx9HjhwZtP/IkSMxc+bMpKmq1/XXXx9PP/10PPfcc8P68ZO1YN++fXH06NG48MILY+LEiTFx4sTYtWtX3HvvvTFx4sTo6+vLHrEqzJo1K84999xB+84555x49913kyaqTjfddFOsXbs2rrnmmpg/f378/Oc/jxtvvDE6OjqyR6tan99nj/f78zEX4kmTJsVFF10UO3fuHNjX398fO3fujIsvvjhxsupSFEVcf/31sX379vjrX/8ara2t2SNVnUsvvTRef/31OHDgwMDW1tYWy5YtiwMHDkR9fX32iFVh8eLFX/rVt0OHDsUZZ5yRNFF1+vjjj7/0AfD19fXR39+fNFH1a21tjZkzZw66Py+Xy7Fnz55xdX8+Jh+aXrNmTSxfvjza2tpi4cKFcc8990RPT0+sWLEie7Sq0d7eHlu3bo0nn3wyGhsbB55vaWpqioaGhuTpqkNjY+OXnjOfMmVKTJs2zXPp/+PGG2+MSy65JO6444746U9/Gp2dnbF58+bYvHlz9mhV5corr4wNGzbE7NmzY+7cufHqq6/G3XffHdddd132aKk++uijeOuttwa+fuedd+LAgQNx6qmnxuzZs2P16tXx29/+Ns4+++xobW2N9evXR3Nzc1x11VV5Q4+27Jdtn6z77ruvmD17djFp0qRi4cKFxe7du7NHqioRcdztkUceyR6tqvn1peP785//XMybN68olUrFnDlzis2bN2ePVHXK5XKxatWqYvbs2cXkyZOL73znO8VvfvObore3N3u0VM8999xx74uWL19eFMVnv8K0fv36YsaMGUWpVCouvfTS4uDBg7lDjzIfgwgAicbcc8QAUEuEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEj0f9sX7b0V6ppFAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def evaluate_policy(action_values, n_episodes=5):\n",
    "    for e in range(n_episodes):\n",
    "        state_actions = []\n",
    "        rewards = []\n",
    "\n",
    "        pos_map = np.zeros((y_size, x_size))\n",
    "        state = track.reset()\n",
    "        for k in range(200):\n",
    "\n",
    "            pos_map[state[0], state[1]] += 1  # exploration map\n",
    "\n",
    "            action = policy(action_values, state, deterministic=True, epsilon=epsilon)\n",
    "            action = track.action_to_tuple(action)\n",
    "            \n",
    "            state_action = track.state_action(state, action)\n",
    "            state_actions.append(state_action)\n",
    "\n",
    "            state, reward, terminated, truncated, _ = track.step(action)\n",
    "            \n",
    "            rewards.append(reward)\n",
    "\n",
    "            if truncated:\n",
    "                state = track.reset()\n",
    "\n",
    "            if terminated:\n",
    "                print('Done')\n",
    "                break \n",
    "\n",
    "        print('Sample trajectory on learned policy in episode {}:'.format(e))\n",
    "        pos_map = (pos_map > 0).astype(np.int16)\n",
    "        pos_map +=  track.course  # overlay track course\n",
    "        plt.imshow(pos_map, cmap='hot', interpolation='nearest')\n",
    "        plt.show()\n",
    "\n",
    "\n",
    "evaluate_policy(action_values)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "nbgrader": {
     "grade": false,
     "grade_id": "cell-0c371bcfacdd888b",
     "locked": true,
     "schema_version": 3,
     "solution": false,
     "task": false
    }
   },
   "source": [
    "## 3) Off-Policy $\\varepsilon$-Greedy Control: Q-Learning"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "nbgrader": {
     "grade": false,
     "grade_id": "cell-f3c161cad2caf81b",
     "locked": true,
     "schema_version": 3,
     "solution": false,
     "task": false
    }
   },
   "source": [
    "Write a function for a Q-Learning algorithm to solve the rectangular course environment (function will be re-used in the next task).\n",
    "Use again $\\varepsilon = 0.1$, $\\alpha = 0.5$, $\\gamma = 1$ and 500 episodes.\n",
    "\n",
    "Can the resulting greedy policy be expected to be better or worse than the optimal policy trained with Sarsa?\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "nbgrader": {
     "grade": false,
     "grade_id": "cell-4d7c8d85aab5d729",
     "locked": true,
     "schema_version": 3,
     "solution": false,
     "task": false
    }
   },
   "source": [
    "## 3) Solution"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "nbgrader": {
     "grade": true,
     "grade_id": "cell-87575006926b61cc",
     "locked": false,
     "points": 0,
     "schema_version": 3,
     "solution": true,
     "task": false
    }
   },
   "source": [
    "Algorithm given below.\n",
    "\n",
    "Q-learning determines its action values based on the idea that an optimal greedy policy is acquired in the end (hence the $\\text{max} \\, q$ operation when updating the action values). Thus, the resulting policy is not biased towards softness of the exploration policy, but towards assumption of optimality (maximization bias).\n",
    "In this example the reward is deterministic, so maximization bias is not a problem and $\\alpha$ only influences the speed of learning. \n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "nbgrader": {
     "grade": true,
     "grade_id": "cell-155e68f8d30832aa",
     "locked": false,
     "points": 0,
     "schema_version": 3,
     "solution": true,
     "task": false
    }
   },
   "outputs": [],
   "source": [
    "def interact(action_values, state, epsilon):\n",
    "    \"\"\"Interact with the environment to get to the next state.\n",
    "    You may reuse the policy function from task 2) within this\n",
    "    function.\n",
    "\n",
    "    Args:\n",
    "        action_values: The action-value estimates\n",
    "        state: The current state before interaction\n",
    "        epsilon: The probability for a random action\n",
    "\n",
    "    Returns:\n",
    "        next_state: The next state after interaction\n",
    "        reward: The reward for the current interaction\n",
    "        terminated: If the goal was reached\n",
    "        truncated: If the boundary of the track was breached\n",
    "        action: The applied action\n",
    "    \"\"\"\n",
    "    ### BEGIN SOLUTION\n",
    "    action = policy(action_values, state, False, epsilon)\n",
    "    action = track.action_to_tuple(action)\n",
    "\n",
    "    next_state, reward, terminated, truncated, _ = track.step(action)\n",
    "\n",
    "    ### END SOLUTION\n",
    "    return next_state, reward, terminated, truncated, action\n",
    "\n",
    "\n",
    "def learn(action_values, state, action, next_state, reward, gamma, alpha):\n",
    "    \"\"\"Learn from the collected data with a q-learning update step.\n",
    "    \n",
    "    Args:\n",
    "        action_values: The action-value estimates before the update step\n",
    "        state: The state before the interaction\n",
    "        action: The chosen action\n",
    "        next_state: The next state after the interaction\n",
    "        reward: The reward for the interaction\n",
    "        gamma: Discount factor\n",
    "        alpha: Step size\n",
    "\n",
    "    Returns:\n",
    "        action_values: The updated action-value estimates\n",
    "    \"\"\"\n",
    "    ### BEGIN SOLUTION\n",
    "    \n",
    "    state_action = track.state_action(state, action)\n",
    "    action_values[state_action] += alpha * (reward + gamma*np.max(action_values[next_state])-action_values[state_action])\n",
    "    \n",
    "    ### END SOLUTION\n",
    "    return action_values\n",
    "\n",
    "\n",
    "def q_learning(epsilon, gamma, alpha, episodes, track):\n",
    "    \"\"\"Defines the Q-learning function which performs 𝜀-greedy control on the given track.\n",
    "\n",
    "    Args:\n",
    "        epsilon: Exploration probability\n",
    "        gamma: Discount factor\n",
    "        alpha: Forgetting factor\n",
    "        episodes: Number of evaluated episodes\n",
    "        track: Race track to learn\n",
    "\n",
    "    Returns:\n",
    "        cumulated_rewards: List of accumulated rewards per episode\n",
    "        action_values: The learned action values\n",
    "    \"\"\"\n",
    "    # define track\n",
    "    course = track.course\n",
    "    x_size, y_size = len(course[0]), len(course)\n",
    "    \n",
    "    # Initialise action values \n",
    "    action_values = np.zeros([track.bounds[0], track.bounds[1], 1+2*track.MAX_VELOCITY, 1+2*track.MAX_VELOCITY, 3, 3])\n",
    "    \n",
    "    cumulated_rewards = []\n",
    "\n",
    "    ### BEGIN SOLUTION\n",
    "\n",
    "    for e in tqdm(range(episodes), desc='episode'): \n",
    "        cumulated_reward = 0\n",
    "\n",
    "        pos_map = np.zeros((y_size, x_size))\n",
    "        state = track.reset()   \n",
    "\n",
    "        # episodes do not terminate by time limit\n",
    "        while True:\n",
    "            pos_map[state[0], state[1]] += 1  # exploration map\n",
    "\n",
    "            next_state, reward, terminated, truncated, action = interact(action_values, state, epsilon)\n",
    "\n",
    "            if truncated:\n",
    "                next_state = track.reset()\n",
    "\n",
    "            action_values = learn(action_values, state, action, next_state, reward, gamma, alpha)\n",
    "\n",
    "            state = next_state\n",
    "            \n",
    "            cumulated_reward += reward\n",
    "            if terminated:\n",
    "                break\n",
    "        \n",
    "        cumulated_rewards.append(cumulated_reward) \n",
    "        \n",
    "    ### END SOLUTION\n",
    "    return cumulated_rewards, action_values"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "2157e16feb084cb694975a789b4fae77",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "episode:   0%|          | 0/500 [00:00<?, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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pTIzM5Gfn2+3ze7u7vD29ra6PyUlBZcuXULbtm0t9rVv3x6rV6+2+xoAsH79enh6esJgMKB27doYNWoURowYYfFajRo1QkJCAhYsWODQeek2IxDdQYYNGyaY/9p37txZACDMnj3b4vibN29abHv++ecFT09PIScnR9yWkJAg1K5dW3x8+vRpAYAQGBgopKeni9t/+eUXAYDw22+/idsmTJhg0SYAgk6nE06ePClu27dvnwBA+PTTT8VtDz74oODp6SmkpKSI206cOCFotVqLcypJSEgQvLy8hMuXLwuXL18WTp48KUyePFlQqVRC8+bNxeNq164tABDWrFkje/7IkSMFAMI///wjbrt+/boQFRUlREZGCgaDQRAEQZg+fboAQFixYoV43K1bt4SGDRsKAIQNGzaI2639PL7//ntBrVbLXksQBGH27NkCAGHz5s2CIAjCxx9/LAAQLl++bPV9P/TQQ0KTJk3sXh9z33zzjQBAOH36tGz7hg0bZO9jz549AgBh2bJlNs9Xu3ZtISEhweL83bt3F4xGo7h91KhRgkajETIyMgRBEIS0tDRBq9UKffr0kZ1v4sSJAgDZOa0x/93Oy8sTmjZtKtxzzz0OtbFNmzZCXl6euH3atGkCAOGXX36RPReA8Pfff4vbLl26JOj1emH06NHitpycHPF3xeT06dOCXq8XJk2aZPe9mH5n7H3Zuy47duwQAAjfffedxb7XXntNACD7f6/kwQcfFD744ANhxYoVwrx584ROnToJAITXX3/d4v05+rOi2xO78IhQWIsyePBgi+3SGp/r16/jypUr6NSpE27evImjR4/aPe+AAQPg7+8vPu7UqROAwk/c9nTv3h116tQRHzdv3hw+Pj7icw0GA/7880/06dNH9gm9bt26uO++++ye3yQ7OxvBwcEIDg5G3bp18eabbyI2NhbLly+XHRcVFYX4+HjZttWrV6N9+/bo2LGjuM3b2xvPPfcczpw5g8OHDwMA1qxZgxo1aqB3797ice7u7hg6dKhim5R+HsuWLUOjRo3QsGFDXLlyRfy65557AEDMZvn5+QEo7H61Vtjv5+eHCxcuWHSnlhVThumPP/7AzZs3nX7+c889J8vidOrUCQaDAWfPngUArFu3DgUFBXjppZdkz3v55Zcdfg3p7/a1a9eQmZmJTp06Yffu3Q63UZpFffHFF6HVai2yNI0bNxZ/7wEgODgYDRo0kP0f0Ov1YjG9wWDA1atXxa5XR9ozffp0JCUl2f16/fXXbZ7n1q1bYnvMubu7y46x5tdff8Xrr7+Ohx56CM888wz++usvxMfHY8aMGbhw4YJ4XGRkJARBYPapEmMXHhEKiz6VRtccOnQI48aNw/r165GVlSXbJ61lsUZaRwFADKas1YrYeq7p+abnXrp0Cbdu3ULdunUtjlPaZo27uzt+++03AIU3jqioKNSsWdPiuKioKIttZ8+eRUxMjMV206jGs2fPomnTpjh79izq1KljUZdlrZ1KP48TJ07gyJEjVrsnL126BKAwaJ07dy6effZZjBkzBt26dUPfvn3xyCOPiDfpN954A3/++Sfat2+PunXrokePHnj88cfRoUMHxXM7KyoqComJiZgxYwYWLlyITp06oXfv3njyySftdt8B9n9vTIGU+fULCAiQBey2rFy5Eu+99x727t0rqyFztHauXr16ssfe3t4IDw+3qA+z93sMFNZzzZo1C1988QVOnz4tqzGUdiNb06ZNG4fabI8pqFSawsPUNerswAmVSiXW+23cuJHF5VUIAygiKP9RzMjIQOfOneHj44NJkyahTp06cHd3x+7du/HGG284NG2BRqNR3C4IQrk+1xkajQbdu3e3e5yrRtxZey2j0YhmzZphxowZis+JiIgQn/v3339jw4YNWLVqFdasWYMlS5bgnnvuwdq1a6HRaNCoUSMcO3YMK1euxJo1a/DTTz/hiy++wPjx4/HOO+9YbZe14MJ8UAFQmBUZNGgQfvnlF6xduxavvPIKpkyZgq1btyoGqFLl/bP/559/0Lt3b9x999344osvEB4eDjc3N3zzzTd2C+md5ch7mTx5Mt5++20888wzePfddxEQEAC1Wo2RI0c69P8sPT0deXl5do/z8PCwGcCGh4cDgGJhd2pqKgICAko0ctL0u5menu70c+n2xQCKyIqNGzfi6tWr+Pnnn3H33XeL20+fPl2BrSoWEhICd3d3nDx50mKf0rbyULt2bRw7dsxiu6l7s3bt2uK/hw8fhiAIFgXGjqpTpw727duHbt262c2SqNVqdOvWDd26dcOMGTMwefJkvPXWW9iwYYMYLHp5eWHAgAEYMGAA8vLy0LdvX7z//vsYO3as2F1jzpTdycjIkG03ZYTMNWvWDM2aNcO4ceOwZcsWdOjQAbNnz8Z7773n8PtWYrquJ0+elGUGr1696lB286effoK7uzv++OMPWUDwzTffONyGEydOoGvXruLjGzduIDU1Fffff7/D5zD58ccf0bVrV8ybN0+2PSMjA0FBQXaf37dvX/z11192j7NXsF2jRg0EBwdj586dFvu2b9+Oli1b2n0NJabuytIO7qDbC2ugiKwwfXKWflLOy8vDF198UVFNkjFljlasWIH//vtP3H7y5En8/vvvLmnD/fffj+3btyM5OVnclp2djTlz5iAyMhKNGzcGAMTHxyMlJQW//vqreFxOTg6+/vprh1/r0UcfRUpKiuJzbt26JQ4ZV/qUb7rxmbpmrl69Ktuv0+nQuHFjCIJgczSXqSbt77//FrcZDAbMmTNHdlxWVhYKCgpk25o1awa1Wl0mM7x369YNWq0WX375pWz7Z5995tDzNRoNVCqVLHN25swZcSSjI+bMmSO7Vl9++SUKCgqcqr+Ttsc8u7Zs2TKkpKQ49PyyqoECgH79+mHlypU4f/68uG3dunU4fvw4+vfvL25TmoYgPT3dIhuZn5+PqVOnQqfTyQJOTmNQ+TEDRWRFXFwc/P39kZCQgFdeeQUqlQrff/99mXehlcbEiROxdu1adOjQAS+++CIMBgM+++wzNG3aFHv37i331x8zZgz+97//4b777sMrr7yCgIAAfPvttzh9+jR++uknsebo+eefx2effYaBAwdixIgRCA8Px8KFC8VMjyN1N0899RSWLl2KF154ARs2bECHDh1gMBhw9OhRLF26VJyjatKkSfj777/Rq1cv1K5dG5cuXcIXX3yBmjVrisXuPXr0QFhYGDp06IDQ0FAcOXIEn332GXr16oVq1apZbUOTJk1w1113YezYsUhPT0dAQAAWL15sESytX78ew4cPR//+/VG/fn0UFBTg+++/h0ajQb9+/Up6uUWhoaEYMWIEpk+fjt69e6Nnz57Yt28ffv/9dwQFBdm9nr169cKMGTPQs2dPPP7447h06RI+//xz1K1bF/v373eoDXl5eejWrRseffRRHDt2DF988QU6duwoGyjgqAceeACTJk3C4MGDERcXhwMHDmDhwoWIjo526PllVQMFAG+++SaWLVuGrl27YsSIEbhx4wY+/PBDNGvWTDawQWkagl9//RXvvfceHnnkEURFRSE9PR2LFi3CwYMH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z2PatGni1AANGzaUTRlAruPUNAbS7x0ahccIioiIyFyJ18Lz9/dHYGAg/P394efnB61W61SxN5WOo6PwzIMkeQ0UZyInIiIqCacDqDfffBNxcXEIDAzEmDFjkJOTgzFjxiAtLQ179uwpjzaSAukoPFtZIvNdzmagOJEmERGRJadroKZOnYrg4GBMmDABffv2Rf369cujXWRHieeBcnL5FsZPRERElpwOoPbs2YO//voLGzduxPTp06HT6cRC8i5dujCgchFp1slW/GTRhSfJQTmUgXK2YURERHcApwOoFi1aoEWLFnjllVcAAPv27cPHH3+MYcOGwWg0wmAwlHkjyVJJAxv5KDz7ERSLyImIiCw5HUAJgoA9e/Zg48aN2LhxIzZt2oSsrCw0b94cnTt3Lo82kpISxjXOr4XHAIqIiMhciWYiv3HjBlq0aIHOnTtj6NCh6NSpE/z8/MqheWRNiTNQznbhMX4iIiKy4HQA9cMPP6BTp07w8fEpj/aQg0o6Os6RLjz5YsJERERkzulpDHr16gUfHx+cPHkSf/zxB27dugWAw91dzdGrbR4iOduFxwiKiIjIktMB1NWrV9GtWzfUr18f999/P1JTUwEAQ4YMwejRo8u8gaTM0dok86NkXXhWniNfTJgRFBERkTmnA6hRo0bBzc0N586dg6enp7h9wIABWLNmTZk2jqwraVzDInIiIqLSc7oGau3atfjjjz8s1r2rV68ezp49W2YNI9scjWtsx0gOLOXi2MsQERHdUZzOQGVnZ8syTybp6enQ6/Vl0igqOxZdeCqOwiMiIiotpwOoTp064bvvvhMfq1QqGI1GTJs2DV27di3TxpF1JS3aV8tG4REREVFJON2FN23aNHTr1g07d+5EXl4eXn/9dRw6dAjp6enYvHlzebSRFJR4FJ70e2cXxiMiIiIAJchANW3aFMePH0fHjh3x0EMPITs7G3379sWePXtQp06d8mgjKShpcbesC6+sGkNERHSHcToDBQC+vr546623ZNtycnLw0Ucf4dVXXy2ThpFtJR6FJ/2eERQREVGJOJWBunz5MlauXIm1a9eKiwbn5+dj1qxZiIyMxNSpU8ulkWTJVYsJExERkSWHM1CbNm3CAw88gKysLKhUKrRt2xbffPMN+vTpA61Wi4kTJyIhIaE820oStjJQKpWt/c6NwiMiIiJLDmeg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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# configuration parameters\n",
    "epsilon = 0.1   # exploration probability\n",
    "gamma = 1       # discount factor\n",
    "alpha = 0.5      # forgetting factor\n",
    "episodes = 500 # number of evaluated episodes\n",
    "\n",
    "# define track using the course defined above\n",
    "course = course\n",
    "track = RaceTrackEnv(course)\n",
    "x_size, y_size = len(course[0]), len(course)\n",
    "\n",
    "cumulated_rewards, action_values = q_learning(epsilon, gamma, alpha, episodes, track)\n",
    "\n",
    "plt.plot(cumulated_rewards)\n",
    "plt.title('Training Progress using alpha = {}:'.format(alpha))\n",
    "plt.xlabel('Episode')\n",
    "plt.ylabel('Cumulated Reward')\n",
    "plt.ylim(-2000, 0) \n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "nbgrader": {
     "grade": false,
     "grade_id": "cell-2f30a4a48607f604",
     "locked": true,
     "schema_version": 3,
     "solution": false,
     "task": false
    }
   },
   "source": [
    "Show again the best 5 episodes using the function defined in 2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "nbgrader": {
     "grade": false,
     "grade_id": "cell-8f635c16703f4776",
     "locked": true,
     "schema_version": 3,
     "solution": false,
     "task": false
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Done\n",
      "Sample trajectory on learned policy in episode 0:\n"
     ]
    },
    {
     "data": {
      "image/png": "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iYQYABJ9qxDfcccdUVNTE2vWrBmhcQBgYhl2iPfu3RsPPvhgnHvuuSM5DwBMKMMK8ccffxzLly+Phx56KE466aSRngkAJoxhhbitrS2WLVsWS5cu/cZte3t7o1QqDVoAgC9MLneH7du3x/79+2Pv3r1D2r69vT1uueWWsgcDgImgrDPizs7OWL16dTzyyCMxderUIe2zfv366O7uHlg6OzuHNSgAVKOyzoj37dsXXV1dccEFFwys6+vri+effz7uu+++6O3tjdra2kH71NXVRV1d3chMCwBVpqwQX3LJJfH6668PWrdy5cqYN29e3HjjjcdEGAA4sbJC3NDQEAsWLBi0btq0aTFjxoxj1gMA38wnawFAorJfNf3/PffccyMwBgBMTM6IASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgETf+rOmGUUdNdkTAJXAfUFVc0YMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEg0OXsAxpeeosge4VgdNdkTwOha5O+umjkjBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJCo7BC///77cc0118SMGTOivr4+zjnnnHjllVdGYzYAqHplfR/xRx99FEuWLImf/OQn8fTTT8d3v/vdeOutt+Kkk04arfkAoKqVFeJNmzZFc3NzPPzwwwPrWlpaRnwoAJgoynpo+sknn4zW1ta4+uqrY+bMmXH++efHQw89dMJ9ent7o1QqDVoAgC+UFeJ33nknNm/eHGeeeWb8/e9/j9/85jexatWq2Lp169fu097eHo2NjQNLc3Pztx4aAKpFTVEUxVA3njJlSrS2tsaLL744sG7VqlWxd+/eeOmll467T29vb/T29g5cLpVK0dzcHPURUTP8uUdcz8vZE4wTi4Z8cxk7HZV0S4JR4O9uSKYtzp7gK0VE/Dciuru7Y/r06Sfctqwz4jlz5sTZZ589aN1ZZ50V77333tfuU1dXF9OnTx+0AABfKCvES5YsiYMHDw5ad+jQoTjttNNGdCgAmCjKCvENN9wQe/bsidtvvz3efvvt2LZtW2zZsiXa2tpGaz4AqGplhXjhwoWxY8eOePTRR2PBggVx6623xt133x3Lly8frfkAoKqV9T7iiIgrrrgirrjiitGYBQAmHJ81DQCJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQq+7OmmeAq8MvAK1IlfpF7JarE21Ml/u4q8TgxYpwRA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASTc4eAKpSR032BAyX3x1jzBkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERlhbivry82bNgQLS0tUV9fH2eccUbceuutURTFaM0HAFWtrO8j3rRpU2zevDm2bt0a8+fPj1deeSVWrlwZjY2NsWrVqtGaEQCqVlkhfvHFF+OnP/1pLFu2LCIiTj/99Hj00Uejo6NjVIYDgGpX1kPTF198cezatSsOHToUERGvvfZavPDCC3H55Zd/7T69vb1RKpUGLQDAF8o6I163bl2USqWYN29e1NbWRl9fX2zcuDGWL1/+tfu0t7fHLbfc8q0HBYBqVNYZ8eOPPx6PPPJIbNu2Lfbv3x9bt26NP/7xj7F169av3Wf9+vXR3d09sHR2dn7roQGgWtQUZbzkubm5OdatWxdtbW0D62677bb4y1/+Em+++eaQfkapVIrGxsaoj4iasscdPT0vZ08AwLcxbXH2BF8pIuK/EdHd3R3Tp08/4bZlnRF/8sknMWnS4F1qa2ujv7+/3BkBgCjzOeIrr7wyNm7cGHPnzo358+fHq6++GnfddVdce+21ozUfAFS1sh6aPnr0aGzYsCF27NgRXV1d0dTUFL/61a/ipptuiilTpgzpZ3hoGoDRMF4fmi4rxCNBiAEYDeM1xD5rGgASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEhU1rcvVbNK+oxSACYOZ8QAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAosljfYVFUXzx71hfMQCMkS8b92XzTmTMQ3z06NGIiPh0rK8YAMbY0aNHo7Gx8YTb1BRDyfUI6u/vjw8++CAaGhqipqZm2D+nVCpFc3NzdHZ2xvTp00dwwuriOA2N4zQ0jtPQOE5DU83HqSiKOHr0aDQ1NcWkSSd+FnjMz4gnTZoUp5566oj9vOnTp1fdL3A0OE5D4zgNjeM0NI7T0FTrcfqmM+EvebEWACQSYgBING5DXFdXFzfffHPU1dVlj1LRHKehcZyGxnEaGsdpaBynL4z5i7UAgK+M2zNiAKgGQgwAiYQYABIJMQAkGrchvv/+++P000+PqVOnxuLFi6OjoyN7pIrS3t4eCxcujIaGhpg5c2ZcddVVcfDgweyxKtodd9wRNTU1sWbNmuxRKs77778f11xzTcyYMSPq6+vjnHPOiVdeeSV7rIrS19cXGzZsiJaWlqivr48zzjgjbr311iF91nA1e/755+PKK6+MpqamqKmpib/+9a+D/r8oirjppptizpw5UV9fH0uXLo233norZ9gk4zLEjz32WKxduzZuvvnm2L9/f5x33nlx2WWXRVdXV/ZoFWP37t3R1tYWe/bsiZ07d8bnn38el156afT09GSPVpH27t0bDz74YJx77rnZo1Scjz76KJYsWRLf+c534umnn45//vOf8ac//SlOOumk7NEqyqZNm2Lz5s1x3333xb/+9a/YtGlT3HnnnXHvvfdmj5aqp6cnzjvvvLj//vuP+/933nln3HPPPfHAAw/Eyy+/HNOmTYvLLrssPv10An0jQTEOLVq0qGhraxu43NfXVzQ1NRXt7e2JU1W2rq6uIiKK3bt3Z49ScY4ePVqceeaZxc6dO4sf/ehHxerVq7NHqig33nhj8YMf/CB7jIq3bNmy4tprrx207mc/+1mxfPnypIkqT0QUO3bsGLjc399fzJ49u/jDH/4wsO4///lPUVdXVzz66KMJE+YYd2fEn332Wezbty+WLl06sG7SpEmxdOnSeOmllxInq2zd3d0REXHyyScnT1J52traYtmyZYNuU3zlySefjNbW1rj66qtj5syZcf7558dDDz2UPVbFufjii2PXrl1x6NChiIh47bXX4oUXXojLL788ebLK9e6778bhw4cH/e01NjbG4sWLJ9T9+Zh/6cO39eGHH0ZfX1/MmjVr0PpZs2bFm2++mTRVZevv7481a9bEkiVLYsGCBdnjVJTt27fH/v37Y+/evdmjVKx33nknNm/eHGvXro3f/e53sXfv3li1alVMmTIlVqxYkT1exVi3bl2USqWYN29e1NbWRl9fX2zcuDGWL1+ePVrFOnz4cETEce/Pv/y/iWDchZjytbW1xRtvvBEvvPBC9igVpbOzM1avXh07d+6MqVOnZo9Tsfr7+6O1tTVuv/32iIg4//zz44033ogHHnhAiP/H448/Ho888khs27Yt5s+fHwcOHIg1a9ZEU1OT48QJjbuHpk855ZSora2NI0eODFp/5MiRmD17dtJUleu6666Lp556Kp599tkR/frJarBv377o6uqKCy64ICZPnhyTJ0+O3bt3xz333BOTJ0+Ovr6+7BErwpw5c+Lss88etO6ss86K9957L2miyvTb3/421q1bF7/85S/jnHPOiV//+tdxww03RHt7e/ZoFevL++yJfn8+7kI8ZcqUuPDCC2PXrl0D6/r7+2PXrl1x0UUXJU5WWYqiiOuuuy527NgR//jHP6KlpSV7pIpzySWXxOuvvx4HDhwYWFpbW2P58uVx4MCBqK2tzR6xIixZsuSYt74dOnQoTjvttKSJKtMnn3xyzBfA19bWRn9/f9JEla+lpSVmz5496P68VCrFyy+/PKHuz8flQ9Nr166NFStWRGtrayxatCjuvvvu6OnpiZUrV2aPVjHa2tpi27Zt8cQTT0RDQ8PA8y2NjY1RX1+fPF1laGhoOOY582nTpsWMGTM8l/4/brjhhrj44ovj9ttvj5///OfR0dERW7ZsiS1btmSPVlGuvPLK2LhxY8ydOzfmz58fr776atx1111x7bXXZo+W6uOPP46333574PK7774bBw4ciJNPPjnmzp0ba9asidtuuy3OPPPMaGlpiQ0bNkRTU1NcddVVeUOPteyXbQ/XvffeW8ydO7eYMmVKsWjRomLPnj3ZI1WUiDju8vDDD2ePVtG8fen4/va3vxULFiwo6urqinnz5hVbtmzJHqnilEqlYvXq1cXcuXOLqVOnFt/73veK3//+90Vvb2/2aKmeffbZ494XrVixoiiKL97CtGHDhmLWrFlFXV1dcckllxQHDx7MHXqM+RpEAEg07p4jBoBqIsQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAov8D2MkF8Zwt00sAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Done\n",
      "Sample trajectory on learned policy in episode 1:\n"
     ]
    },
    {
     "data": {
      "image/png": "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iYQYABJ9qxDfcccdUVNTE2vWrBmhcQBgYhl2iPfu3RsPPvhgnHvuuSM5DwBMKMMK8ccffxzLly+Phx56KE466aSRngkAJoxhhbitrS2WLVsWS5cu/cZte3t7o1QqDVoAgC9MLneH7du3x/79+2Pv3r1D2r69vT1uueWWsgcDgImgrDPizs7OWL16dTzyyCMxderUIe2zfv366O7uHlg6OzuHNSgAVKOyzoj37dsXXV1dccEFFwys6+vri+effz7uu+++6O3tjdra2kH71NXVRV1d3chMCwBVpqwQX3LJJfH6668PWrdy5cqYN29e3HjjjcdEGAA4sbJC3NDQEAsWLBi0btq0aTFjxoxj1gMA38wnawFAorJfNf3/PffccyMwBgBMTM6IASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgETf+rOmGUUdNdkTAJXAfUFVc0YMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEg0OXsAxpeeosge4VgdNdkTwOha5O+umjkjBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJCo7BC///77cc0118SMGTOivr4+zjnnnHjllVdGYzYAqHplfR/xRx99FEuWLImf/OQn8fTTT8d3v/vdeOutt+Kkk04arfkAoKqVFeJNmzZFc3NzPPzwwwPrWlpaRnwoAJgoynpo+sknn4zW1ta4+uqrY+bMmXH++efHQw89dMJ9ent7o1QqDVoAgC+UFeJ33nknNm/eHGeeeWb8/e9/j9/85jexatWq2Lp169fu097eHo2NjQNLc3Pztx4aAKpFTVEUxVA3njJlSrS2tsaLL744sG7VqlWxd+/eeOmll467T29vb/T29g5cLpVK0dzcHPURUTP8uUdcz8vZE4wTi4Z8cxk7HZV0S4JR4O9uSKYtzp7gK0VE/Dciuru7Y/r06Sfctqwz4jlz5sTZZ589aN1ZZ50V77333tfuU1dXF9OnTx+0AABfKCvES5YsiYMHDw5ad+jQoTjttNNGdCgAmCjKCvENN9wQe/bsidtvvz3efvvt2LZtW2zZsiXa2tpGaz4AqGplhXjhwoWxY8eOePTRR2PBggVx6623xt133x3Lly8frfkAoKqV9T7iiIgrrrgirrjiitGYBQAmHJ81DQCJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQq+7OmmeAq8MvAK1IlfpF7JarE21Ml/u4q8TgxYpwRA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASTc4eAKpSR032BAyX3x1jzBkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERlhbivry82bNgQLS0tUV9fH2eccUbceuutURTFaM0HAFWtrO8j3rRpU2zevDm2bt0a8+fPj1deeSVWrlwZjY2NsWrVqtGaEQCqVlkhfvHFF+OnP/1pLFu2LCIiTj/99Hj00Uejo6NjVIYDgGpX1kPTF198cezatSsOHToUERGvvfZavPDCC3H55Zd/7T69vb1RKpUGLQDAF8o6I163bl2USqWYN29e1NbWRl9fX2zcuDGWL1/+tfu0t7fHLbfc8q0HBYBqVNYZ8eOPPx6PPPJIbNu2Lfbv3x9bt26NP/7xj7F169av3Wf9+vXR3d09sHR2dn7roQGgWtQUZbzkubm5OdatWxdtbW0D62677bb4y1/+Em+++eaQfkapVIrGxsaoj4iasscdPT0vZ08AwLcxbXH2BF8pIuK/EdHd3R3Tp08/4bZlnRF/8sknMWnS4F1qa2ujv7+/3BkBgCjzOeIrr7wyNm7cGHPnzo358+fHq6++GnfddVdce+21ozUfAFS1sh6aPnr0aGzYsCF27NgRXV1d0dTUFL/61a/ipptuiilTpgzpZ3hoGoDRMF4fmi4rxCNBiAEYDeM1xD5rGgASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEhU1rcvVbNK+oxSACYOZ8QAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAosljfYVFUXzx71hfMQCMkS8b92XzTmTMQ3z06NGIiPh0rK8YAMbY0aNHo7Gx8YTb1BRDyfUI6u/vjw8++CAaGhqipqZm2D+nVCpFc3NzdHZ2xvTp00dwwuriOA2N4zQ0jtPQOE5DU83HqSiKOHr0aDQ1NcWkSSd+FnjMz4gnTZoUp5566oj9vOnTp1fdL3A0OE5D4zgNjeM0NI7T0FTrcfqmM+EvebEWACQSYgBING5DXFdXFzfffHPU1dVlj1LRHKehcZyGxnEaGsdpaBynL4z5i7UAgK+M2zNiAKgGQgwAiYQYABIJMQAkGrchvv/+++P000+PqVOnxuLFi6OjoyN7pIrS3t4eCxcujIaGhpg5c2ZcddVVcfDgweyxKtodd9wRNTU1sWbNmuxRKs77778f11xzTcyYMSPq6+vjnHPOiVdeeSV7rIrS19cXGzZsiJaWlqivr48zzjgjbr311iF91nA1e/755+PKK6+MpqamqKmpib/+9a+D/r8oirjppptizpw5UV9fH0uXLo233norZ9gk4zLEjz32WKxduzZuvvnm2L9/f5x33nlx2WWXRVdXV/ZoFWP37t3R1tYWe/bsiZ07d8bnn38el156afT09GSPVpH27t0bDz74YJx77rnZo1Scjz76KJYsWRLf+c534umnn45//vOf8ac//SlOOumk7NEqyqZNm2Lz5s1x3333xb/+9a/YtGlT3HnnnXHvvfdmj5aqp6cnzjvvvLj//vuP+/933nln3HPPPfHAAw/Eyy+/HNOmTYvLLrssPv10An0jQTEOLVq0qGhraxu43NfXVzQ1NRXt7e2JU1W2rq6uIiKK3bt3Z49ScY4ePVqceeaZxc6dO4sf/ehHxerVq7NHqig33nhj8YMf/CB7jIq3bNmy4tprrx207mc/+1mxfPnypIkqT0QUO3bsGLjc399fzJ49u/jDH/4wsO4///lPUVdXVzz66KMJE+YYd2fEn332Wezbty+WLl06sG7SpEmxdOnSeOmllxInq2zd3d0REXHyyScnT1J52traYtmyZYNuU3zlySefjNbW1rj66qtj5syZcf7558dDDz2UPVbFufjii2PXrl1x6NChiIh47bXX4oUXXojLL788ebLK9e6778bhw4cH/e01NjbG4sWLJ9T9+Zh/6cO39eGHH0ZfX1/MmjVr0PpZs2bFm2++mTRVZevv7481a9bEkiVLYsGCBdnjVJTt27fH/v37Y+/evdmjVKx33nknNm/eHGvXro3f/e53sXfv3li1alVMmTIlVqxYkT1exVi3bl2USqWYN29e1NbWRl9fX2zcuDGWL1+ePVrFOnz4cETEce/Pv/y/iWDchZjytbW1xRtvvBEvvPBC9igVpbOzM1avXh07d+6MqVOnZo9Tsfr7+6O1tTVuv/32iIg4//zz44033ogHHnhAiP/H448/Ho888khs27Yt5s+fHwcOHIg1a9ZEU1OT48QJjbuHpk855ZSora2NI0eODFp/5MiRmD17dtJUleu6666Lp556Kp599tkR/frJarBv377o6uqKCy64ICZPnhyTJ0+O3bt3xz333BOTJ0+Ovr6+7BErwpw5c+Lss88etO6ss86K9957L2miyvTb3/421q1bF7/85S/jnHPOiV//+tdxww03RHt7e/ZoFevL++yJfn8+7kI8ZcqUuPDCC2PXrl0D6/r7+2PXrl1x0UUXJU5WWYqiiOuuuy527NgR//jHP6KlpSV7pIpzySWXxOuvvx4HDhwYWFpbW2P58uVx4MCBqK2tzR6xIixZsuSYt74dOnQoTjvttKSJKtMnn3xyzBfA19bWRn9/f9JEla+lpSVmz5496P68VCrFyy+/PKHuz8flQ9Nr166NFStWRGtrayxatCjuvvvu6OnpiZUrV2aPVjHa2tpi27Zt8cQTT0RDQ8PA8y2NjY1RX1+fPF1laGhoOOY582nTpsWMGTM8l/4/brjhhrj44ovj9ttvj5///OfR0dERW7ZsiS1btmSPVlGuvPLK2LhxY8ydOzfmz58fr776atx1111x7bXXZo+W6uOPP46333574PK7774bBw4ciJNPPjnmzp0ba9asidtuuy3OPPPMaGlpiQ0bNkRTU1NcddVVeUOPteyXbQ/XvffeW8ydO7eYMmVKsWjRomLPnj3ZI1WUiDju8vDDD2ePVtG8fen4/va3vxULFiwo6urqinnz5hVbtmzJHqnilEqlYvXq1cXcuXOLqVOnFt/73veK3//+90Vvb2/2aKmeffbZ494XrVixoiiKL97CtGHDhmLWrFlFXV1dcckllxQHDx7MHXqM+RpEAEg07p4jBoBqIsQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAov8D2MkF8Zwt00sAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Done\n",
      "Sample trajectory on learned policy in episode 2:\n"
     ]
    },
    {
     "data": {
      "image/png": "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AEgkxACQ6FuF+K677oqamppYtWrVMI0DAOPLkEO8b9++ePjhh+P8888fznkAYFwZUog/+uijWLp0aTzyyCNxyimnDPdMADBuDCnEbW1tsWTJkli8ePE3btvT0xOlUmnAAgB8bmK5O2zdujUOHDgQ+/btG9T27e3tcdttt5U9GACMB2WdEXd2dsbKlSvjsccei8mTJw9qn7Vr10ZXV1f/0tnZOaRBAaAalXVGvH///jh27FhcdNFF/et6e3vjxRdfjAceeCB6enqitrZ2wD51dXVRV1c3PNMCQJUpK8SXXXZZvPbaawPWLV++PObMmRM333zzVyIMAJxcWSFuaGiIefPmDVg3ZcqUmDZt2lfWAwDfzCdrAUCisl81/f+98MILwzAGAIxPzogBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaARN/6s6YZQR012RMAlcB9QVVzRgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASDQxewDGlu6iyB7hqzpqsieAkbXA3101c0YMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIFHZIX7vvffiuuuui2nTpkV9fX2cd9558fLLL4/EbABQ9cq6HvGHH34YixYtip/85Cfx7LPPxne/+914880345RTThmp+QCgqpUV4g0bNkRzc3M8+uij/etaWlqGfSgAGC/Kemj66aefjtbW1rj22mtj+vTpceGFF8Yjjzxy0n16enqiVCoNWACAz5UV4rfffjs2btwYZ599dvz973+P3/zmN7FixYrYvHnz1+7T3t4ejY2N/Utzc/O3HhoAqkVNURTFYDeeNGlStLa2xksvvdS/bsWKFbFv377YvXv3Cffp6emJnp6e/q9LpVI0NzdHfUTUDH3uYde9N3uCMWLBoH9dRk9HJf0mwQjwdzcoUxZmT/ClIiL+GxFdXV0xderUk25b1hnxrFmz4txzzx2w7pxzzol33333a/epq6uLqVOnDlgAgM+VFeJFixbFoUOHBqw7fPhwnHHGGcM6FACMF2WF+Kabboo9e/bEnXfeGW+99VZs2bIlNm3aFG1tbSM1HwBUtbJCPH/+/Ni2bVs8/vjjMW/evLj99tvj3nvvjaVLl47UfABQ1cp6H3FExFVXXRVXXXXVSMwCAOOOz5oGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEpX9WdOMcxV4MfCKVIkXcq9Elfj7VIk/u0o8TgwbZ8QAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgEQTsweAqtRRkz0BQ+VnxyhzRgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgUVkh7u3tjXXr1kVLS0vU19fHWWedFbfffnsURTFS8wFAVSvresQbNmyIjRs3xubNm2Pu3Lnx8ssvx/Lly6OxsTFWrFgxUjMCQNUqK8QvvfRS/PSnP40lS5ZERMSZZ54Zjz/+eHR0dIzIcABQ7cp6aPrSSy+NHTt2xOHDhyMi4tVXX41du3bFlVde+bX79PT0RKlUGrAAAJ8r64x4zZo1USqVYs6cOVFbWxu9vb2xfv36WLp06dfu097eHrfddtu3HhQAqlFZZ8RPPvlkPPbYY7Fly5Y4cOBAbN68Of74xz/G5s2bv3aftWvXRldXV//S2dn5rYcGgGpRU5Txkufm5uZYs2ZNtLW19a+744474i9/+Uu88cYbg/oepVIpGhsboz4iasoed+R0782eAIBvY8rC7Am+VETEfyOiq6srpk6detJtyzoj/vjjj2PChIG71NbWRl9fX7kzAgBR5nPEV199daxfvz5mz54dc+fOjVdeeSXuueeeuP7660dqPgCoamU9NH38+PFYt25dbNu2LY4dOxZNTU3xq1/9Km655ZaYNGnSoL6Hh6YBGAlj9aHpskI8HIQYgJEwVkPss6YBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaARGVdfamaVdJnlAIwfjgjBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABJNHO0bLIri839H+4YBYJR80bgvmncyox7i48ePR0TEJ6N9wwAwyo4fPx6NjY0n3aamGEyuh1FfX1+8//770dDQEDU1NUP+PqVSKZqbm6OzszOmTp06jBNWF8dpcBynwXGcBsdxGpxqPk5FUcTx48ejqakpJkw4+bPAo35GPGHChDj99NOH7ftNnTq16n6AI8FxGhzHaXAcp8FxnAanWo/TN50Jf8GLtQAgkRADQKIxG+K6urq49dZbo66uLnuUiuY4DY7jNDiO0+A4ToPjOH1u1F+sBQB8acyeEQNANRBiAEgkxACQSIgBINGYDfGDDz4YZ555ZkyePDkWLlwYHR0d2SNVlPb29pg/f340NDTE9OnT45prrolDhw5lj1XR7rrrrqipqYlVq1Zlj1Jx3nvvvbjuuuti2rRpUV9fH+edd168/PLL2WNVlN7e3li3bl20tLREfX19nHXWWXH77bcP6rOGq9mLL74YV199dTQ1NUVNTU389a9/HfD/RVHELbfcErNmzYr6+vpYvHhxvPnmmznDJhmTIX7iiSdi9erVceutt8aBAwfiggsuiCuuuCKOHTuWPVrF2LlzZ7S1tcWePXti+/bt8dlnn8Xll18e3d3d2aNVpH379sXDDz8c559/fvYoFefDDz+MRYsWxXe+85149tln45///Gf86U9/ilNOOSV7tIqyYcOG2LhxYzzwwAPxr3/9KzZs2BB333133H///dmjperu7o4LLrggHnzwwRP+/9133x333XdfPPTQQ7F3796YMmVKXHHFFfHJJ+PoigTFGLRgwYKira2t/+ve3t6iqampaG9vT5yqsh07dqyIiGLnzp3Zo1Sc48ePF2effXaxffv24kc/+lGxcuXK7JEqys0331z84Ac/yB6j4i1ZsqS4/vrrB6z72c9+VixdujRposoTEcW2bdv6v+7r6ytmzpxZ/OEPf+hf95///Keoq6srHn/88YQJc4y5M+JPP/009u/fH4sXL+5fN2HChFi8eHHs3r07cbLK1tXVFRERp556avIklaetrS2WLFky4HeKLz399NPR2toa1157bUyfPj0uvPDCeOSRR7LHqjiXXnpp7NixIw4fPhwREa+++mrs2rUrrrzyyuTJKtc777wTR44cGfC319jYGAsXLhxX9+ejftGHb+uDDz6I3t7emDFjxoD1M2bMiDfeeCNpqsrW19cXq1atikWLFsW8efOyx6koW7dujQMHDsS+ffuyR6lYb7/9dmzcuDFWr14dv/vd72Lfvn2xYsWKmDRpUixbtix7vIqxZs2aKJVKMWfOnKitrY3e3t5Yv359LF26NHu0inXkyJGIiBPen3/xf+PBmAsx5Wtra4vXX389du3alT1KRens7IyVK1fG9u3bY/LkydnjVKy+vr5obW2NO++8MyIiLrzwwnj99dfjoYceEuL/8eSTT8Zjjz0WW7Zsiblz58bBgwdj1apV0dTU5DhxUmPuoenTTjstamtr4+jRowPWHz16NGbOnJk0VeW64YYb4plnnonnn39+WC8/WQ32798fx44di4suuigmTpwYEydOjJ07d8Z9990XEydOjN7e3uwRK8KsWbPi3HPPHbDunHPOiXfffTdposr029/+NtasWRO//OUv47zzzotf//rXcdNNN0V7e3v2aBXri/vs8X5/PuZCPGnSpLj44otjx44d/ev6+vpix44dcckllyROVlmKoogbbrghtm3bFv/4xz+ipaUle6SKc9lll8Vrr70WBw8e7F9aW1tj6dKlcfDgwaitrc0esSIsWrToK299O3z4cJxxxhlJE1Wmjz/++CsXgK+trY2+vr6kiSpfS0tLzJw5c8D9ealUir17946r+/Mx+dD06tWrY9myZdHa2hoLFiyIe++9N7q7u2P58uXZo1WMtra22LJlSzz11FPR0NDQ/3xLY2Nj1NfXJ09XGRoaGr7ynPmUKVNi2rRpnkv/HzfddFNceumlceedd8bPf/7z6OjoiE2bNsWmTZuyR6soV199daxfvz5mz54dc+fOjVdeeSXuueeeuP7667NHS/XRRx/FW2+91f/1O++8EwcPHoxTTz01Zs+eHatWrYo77rgjzj777GhpaYl169ZFU1NTXHPNNXlDj7bsl20P1f3331/Mnj27mDRpUrFgwYJiz5492SNVlIg44fLoo49mj1bRvH3pxP72t78V8+bNK+rq6oo5c+YUmzZtyh6p4pRKpWLlypXF7Nmzi8mTJxff+973it///vdFT09P9mipnn/++RPeFy1btqwois/fwrRu3bpixowZRV1dXXHZZZcVhw4dyh16lLkMIgAkGnPPEQNANRFiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBINH/AaMnA/B1Q1IgAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Done\n",
      "Sample trajectory on learned policy in episode 3:\n"
     ]
    },
    {
     "data": {
      "image/png": "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iYQYABJ9qxDfcccdUVNTE2vWrBmhcQBgYhl2iPfu3RsPPvhgnHvuuSM5DwBMKMMK8ccffxzLly+Phx56KE466aSRngkAJoxhhbitrS2WLVsWS5cu/cZte3t7o1QqDVoAgC9MLneH7du3x/79+2Pv3r1D2r69vT1uueWWsgcDgImgrDPizs7OWL16dTzyyCMxderUIe2zfv366O7uHlg6OzuHNSgAVKOyzoj37dsXXV1dccEFFwys6+vri+effz7uu+++6O3tjdra2kH71NXVRV1d3chMCwBVpqwQX3LJJfH6668PWrdy5cqYN29e3HjjjcdEGAA4sbJC3NDQEAsWLBi0btq0aTFjxoxj1gMA38wnawFAorJfNf3/PffccyMwBgBMTM6IASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgETf+rOmGUUdNdkTAJXAfUFVc0YMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEg0OXsAxpeeosge4VgdNdkTwOha5O+umjkjBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJCo7BC///77cc0118SMGTOivr4+zjnnnHjllVdGYzYAqHplfR/xRx99FEuWLImf/OQn8fTTT8d3v/vdeOutt+Kkk04arfkAoKqVFeJNmzZFc3NzPPzwwwPrWlpaRnwoAJgoynpo+sknn4zW1ta4+uqrY+bMmXH++efHQw89dMJ9ent7o1QqDVoAgC+UFeJ33nknNm/eHGeeeWb8/e9/j9/85jexatWq2Lp169fu097eHo2NjQNLc3Pztx4aAKpFTVEUxVA3njJlSrS2tsaLL744sG7VqlWxd+/eeOmll467T29vb/T29g5cLpVK0dzcHPURUTP8uUdcz8vZE4wTi4Z8cxk7HZV0S4JR4O9uSKYtzp7gK0VE/Dciuru7Y/r06Sfctqwz4jlz5sTZZ589aN1ZZ50V77333tfuU1dXF9OnTx+0AABfKCvES5YsiYMHDw5ad+jQoTjttNNGdCgAmCjKCvENN9wQe/bsidtvvz3efvvt2LZtW2zZsiXa2tpGaz4AqGplhXjhwoWxY8eOePTRR2PBggVx6623xt133x3Lly8frfkAoKqV9T7iiIgrrrgirrjiitGYBQAmHJ81DQCJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQq+7OmmeAq8MvAK1IlfpF7JarE21Ml/u4q8TgxYpwRA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASTc4eAKpSR032BAyX3x1jzBkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERlhbivry82bNgQLS0tUV9fH2eccUbceuutURTFaM0HAFWtrO8j3rRpU2zevDm2bt0a8+fPj1deeSVWrlwZjY2NsWrVqtGaEQCqVlkhfvHFF+OnP/1pLFu2LCIiTj/99Hj00Uejo6NjVIYDgGpX1kPTF198cezatSsOHToUERGvvfZavPDCC3H55Zd/7T69vb1RKpUGLQDAF8o6I163bl2USqWYN29e1NbWRl9fX2zcuDGWL1/+tfu0t7fHLbfc8q0HBYBqVNYZ8eOPPx6PPPJIbNu2Lfbv3x9bt26NP/7xj7F169av3Wf9+vXR3d09sHR2dn7roQGgWtQUZbzkubm5OdatWxdtbW0D62677bb4y1/+Em+++eaQfkapVIrGxsaoj4iasscdPT0vZ08AwLcxbXH2BF8pIuK/EdHd3R3Tp08/4bZlnRF/8sknMWnS4F1qa2ujv7+/3BkBgCjzOeIrr7wyNm7cGHPnzo358+fHq6++GnfddVdce+21ozUfAFS1sh6aPnr0aGzYsCF27NgRXV1d0dTUFL/61a/ipptuiilTpgzpZ3hoGoDRMF4fmi4rxCNBiAEYDeM1xD5rGgASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEhU1rcvVbNK+oxSACYOZ8QAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAosljfYVFUXzx71hfMQCMkS8b92XzTmTMQ3z06NGIiPh0rK8YAMbY0aNHo7Gx8YTb1BRDyfUI6u/vjw8++CAaGhqipqZm2D+nVCpFc3NzdHZ2xvTp00dwwuriOA2N4zQ0jtPQOE5DU83HqSiKOHr0aDQ1NcWkSSd+FnjMz4gnTZoUp5566oj9vOnTp1fdL3A0OE5D4zgNjeM0NI7T0FTrcfqmM+EvebEWACQSYgBING5DXFdXFzfffHPU1dVlj1LRHKehcZyGxnEaGsdpaBynL4z5i7UAgK+M2zNiAKgGQgwAiYQYABIJMQAkGrchvv/+++P000+PqVOnxuLFi6OjoyN7pIrS3t4eCxcujIaGhpg5c2ZcddVVcfDgweyxKtodd9wRNTU1sWbNmuxRKs77778f11xzTcyYMSPq6+vjnHPOiVdeeSV7rIrS19cXGzZsiJaWlqivr48zzjgjbr311iF91nA1e/755+PKK6+MpqamqKmpib/+9a+D/r8oirjppptizpw5UV9fH0uXLo233norZ9gk4zLEjz32WKxduzZuvvnm2L9/f5x33nlx2WWXRVdXV/ZoFWP37t3R1tYWe/bsiZ07d8bnn38el156afT09GSPVpH27t0bDz74YJx77rnZo1Scjz76KJYsWRLf+c534umnn45//vOf8ac//SlOOumk7NEqyqZNm2Lz5s1x3333xb/+9a/YtGlT3HnnnXHvvfdmj5aqp6cnzjvvvLj//vuP+/933nln3HPPPfHAAw/Eyy+/HNOmTYvLLrssPv10An0jQTEOLVq0qGhraxu43NfXVzQ1NRXt7e2JU1W2rq6uIiKK3bt3Z49ScY4ePVqceeaZxc6dO4sf/ehHxerVq7NHqig33nhj8YMf/CB7jIq3bNmy4tprrx207mc/+1mxfPnypIkqT0QUO3bsGLjc399fzJ49u/jDH/4wsO4///lPUVdXVzz66KMJE+YYd2fEn332Wezbty+WLl06sG7SpEmxdOnSeOmllxInq2zd3d0REXHyyScnT1J52traYtmyZYNuU3zlySefjNbW1rj66qtj5syZcf7558dDDz2UPVbFufjii2PXrl1x6NChiIh47bXX4oUXXojLL788ebLK9e6778bhw4cH/e01NjbG4sWLJ9T9+Zh/6cO39eGHH0ZfX1/MmjVr0PpZs2bFm2++mTRVZevv7481a9bEkiVLYsGCBdnjVJTt27fH/v37Y+/evdmjVKx33nknNm/eHGvXro3f/e53sXfv3li1alVMmTIlVqxYkT1exVi3bl2USqWYN29e1NbWRl9fX2zcuDGWL1+ePVrFOnz4cETEce/Pv/y/iWDchZjytbW1xRtvvBEvvPBC9igVpbOzM1avXh07d+6MqVOnZo9Tsfr7+6O1tTVuv/32iIg4//zz44033ogHHnhAiP/H448/Ho888khs27Yt5s+fHwcOHIg1a9ZEU1OT48QJjbuHpk855ZSora2NI0eODFp/5MiRmD17dtJUleu6666Lp556Kp599tkR/frJarBv377o6uqKCy64ICZPnhyTJ0+O3bt3xz333BOTJ0+Ovr6+7BErwpw5c+Lss88etO6ss86K9957L2miyvTb3/421q1bF7/85S/jnHPOiV//+tdxww03RHt7e/ZoFevL++yJfn8+7kI8ZcqUuPDCC2PXrl0D6/r7+2PXrl1x0UUXJU5WWYqiiOuuuy527NgR//jHP6KlpSV7pIpzySWXxOuvvx4HDhwYWFpbW2P58uVx4MCBqK2tzR6xIixZsuSYt74dOnQoTjvttKSJKtMnn3xyzBfA19bWRn9/f9JEla+lpSVmz5496P68VCrFyy+/PKHuz8flQ9Nr166NFStWRGtrayxatCjuvvvu6OnpiZUrV2aPVjHa2tpi27Zt8cQTT0RDQ8PA8y2NjY1RX1+fPF1laGhoOOY582nTpsWMGTM8l/4/brjhhrj44ovj9ttvj5///OfR0dERW7ZsiS1btmSPVlGuvPLK2LhxY8ydOzfmz58fr776atx1111x7bXXZo+W6uOPP46333574PK7774bBw4ciJNPPjnmzp0ba9asidtuuy3OPPPMaGlpiQ0bNkRTU1NcddVVeUOPteyXbQ/XvffeW8ydO7eYMmVKsWjRomLPnj3ZI1WUiDju8vDDD2ePVtG8fen4/va3vxULFiwo6urqinnz5hVbtmzJHqnilEqlYvXq1cXcuXOLqVOnFt/73veK3//+90Vvb2/2aKmeffbZ494XrVixoiiKL97CtGHDhmLWrFlFXV1dcckllxQHDx7MHXqM+RpEAEg07p4jBoBqIsQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAov8D2MkF8Zwt00sAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Done\n",
      "Sample trajectory on learned policy in episode 4:\n"
     ]
    },
    {
     "data": {
      "image/png": "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AEgkxACQ6FuF+K677oqamppYtWrVMI0DAOPLkEO8b9++ePjhh+P8888fznkAYFwZUog/+uijWLp0aTzyyCNxyimnDPdMADBuDCnEbW1tsWTJkli8ePE3btvT0xOlUmnAAgB8bmK5O2zdujUOHDgQ+/btG9T27e3tcdttt5U9GACMB2WdEXd2dsbKlSvjsccei8mTJw9qn7Vr10ZXV1f/0tnZOaRBAaAalXVGvH///jh27FhcdNFF/et6e3vjxRdfjAceeCB6enqitrZ2wD51dXVRV1c3PNMCQJUpK8SXXXZZvPbaawPWLV++PObMmRM333zzVyIMAJxcWSFuaGiIefPmDVg3ZcqUmDZt2lfWAwDfzCdrAUCisl81/f+98MILwzAGAIxPzogBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaARN/6s6YZQR012RMAlcB9QVVzRgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASDQxewDGlu6iyB7hqzpqsieAkbXA3101c0YMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIFHZIX7vvffiuuuui2nTpkV9fX2cd9558fLLL4/EbABQ9cq6HvGHH34YixYtip/85Cfx7LPPxne/+914880345RTThmp+QCgqpUV4g0bNkRzc3M8+uij/etaWlqGfSgAGC/Kemj66aefjtbW1rj22mtj+vTpceGFF8Yjjzxy0n16enqiVCoNWACAz5UV4rfffjs2btwYZ599dvz973+P3/zmN7FixYrYvHnz1+7T3t4ejY2N/Utzc/O3HhoAqkVNURTFYDeeNGlStLa2xksvvdS/bsWKFbFv377YvXv3Cffp6emJnp6e/q9LpVI0NzdHfUTUDH3uYde9N3uCMWLBoH9dRk9HJf0mwQjwdzcoUxZmT/ClIiL+GxFdXV0xderUk25b1hnxrFmz4txzzx2w7pxzzol33333a/epq6uLqVOnDlgAgM+VFeJFixbFoUOHBqw7fPhwnHHGGcM6FACMF2WF+Kabboo9e/bEnXfeGW+99VZs2bIlNm3aFG1tbSM1HwBUtbJCPH/+/Ni2bVs8/vjjMW/evLj99tvj3nvvjaVLl47UfABQ1cp6H3FExFVXXRVXXXXVSMwCAOOOz5oGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEpX9WdOMcxV4MfCKVIkXcq9Elfj7VIk/u0o8TgwbZ8QAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgEQTsweAqtRRkz0BQ+VnxyhzRgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgUVkh7u3tjXXr1kVLS0vU19fHWWedFbfffnsURTFS8wFAVSvresQbNmyIjRs3xubNm2Pu3Lnx8ssvx/Lly6OxsTFWrFgxUjMCQNUqK8QvvfRS/PSnP40lS5ZERMSZZ54Zjz/+eHR0dIzIcABQ7cp6aPrSSy+NHTt2xOHDhyMi4tVXX41du3bFlVde+bX79PT0RKlUGrAAAJ8r64x4zZo1USqVYs6cOVFbWxu9vb2xfv36WLp06dfu097eHrfddtu3HhQAqlFZZ8RPPvlkPPbYY7Fly5Y4cOBAbN68Of74xz/G5s2bv3aftWvXRldXV//S2dn5rYcGgGpRU5Txkufm5uZYs2ZNtLW19a+744474i9/+Uu88cYbg/oepVIpGhsboz4iasoed+R0782eAIBvY8rC7Am+VETEfyOiq6srpk6detJtyzoj/vjjj2PChIG71NbWRl9fX7kzAgBR5nPEV199daxfvz5mz54dc+fOjVdeeSXuueeeuP7660dqPgCoamU9NH38+PFYt25dbNu2LY4dOxZNTU3xq1/9Km655ZaYNGnSoL6Hh6YBGAlj9aHpskI8HIQYgJEwVkPss6YBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaARGVdfamaVdJnlAIwfjgjBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABJNHO0bLIri839H+4YBYJR80bgvmncyox7i48ePR0TEJ6N9wwAwyo4fPx6NjY0n3aamGEyuh1FfX1+8//770dDQEDU1NUP+PqVSKZqbm6OzszOmTp06jBNWF8dpcBynwXGcBsdxGpxqPk5FUcTx48ejqakpJkw4+bPAo35GPGHChDj99NOH7ftNnTq16n6AI8FxGhzHaXAcp8FxnAanWo/TN50Jf8GLtQAgkRADQKIxG+K6urq49dZbo66uLnuUiuY4DY7jNDiO0+A4ToPjOH1u1F+sBQB8acyeEQNANRBiAEgkxACQSIgBINGYDfGDDz4YZ555ZkyePDkWLlwYHR0d2SNVlPb29pg/f340NDTE9OnT45prrolDhw5lj1XR7rrrrqipqYlVq1Zlj1Jx3nvvvbjuuuti2rRpUV9fH+edd168/PLL2WNVlN7e3li3bl20tLREfX19nHXWWXH77bcP6rOGq9mLL74YV199dTQ1NUVNTU389a9/HfD/RVHELbfcErNmzYr6+vpYvHhxvPnmmznDJhmTIX7iiSdi9erVceutt8aBAwfiggsuiCuuuCKOHTuWPVrF2LlzZ7S1tcWePXti+/bt8dlnn8Xll18e3d3d2aNVpH379sXDDz8c559/fvYoFefDDz+MRYsWxXe+85149tln45///Gf86U9/ilNOOSV7tIqyYcOG2LhxYzzwwAPxr3/9KzZs2BB333133H///dmjperu7o4LLrggHnzwwRP+/9133x333XdfPPTQQ7F3796YMmVKXHHFFfHJJ+PoigTFGLRgwYKira2t/+ve3t6iqampaG9vT5yqsh07dqyIiGLnzp3Zo1Sc48ePF2effXaxffv24kc/+lGxcuXK7JEqys0331z84Ac/yB6j4i1ZsqS4/vrrB6z72c9+VixdujRposoTEcW2bdv6v+7r6ytmzpxZ/OEPf+hf95///Keoq6srHn/88YQJc4y5M+JPP/009u/fH4sXL+5fN2HChFi8eHHs3r07cbLK1tXVFRERp556avIklaetrS2WLFky4HeKLz399NPR2toa1157bUyfPj0uvPDCeOSRR7LHqjiXXnpp7NixIw4fPhwREa+++mrs2rUrrrzyyuTJKtc777wTR44cGfC319jYGAsXLhxX9+ejftGHb+uDDz6I3t7emDFjxoD1M2bMiDfeeCNpqsrW19cXq1atikWLFsW8efOyx6koW7dujQMHDsS+ffuyR6lYb7/9dmzcuDFWr14dv/vd72Lfvn2xYsWKmDRpUixbtix7vIqxZs2aKJVKMWfOnKitrY3e3t5Yv359LF26NHu0inXkyJGIiBPen3/xf+PBmAsx5Wtra4vXX389du3alT1KRens7IyVK1fG9u3bY/LkydnjVKy+vr5obW2NO++8MyIiLrzwwnj99dfjoYceEuL/8eSTT8Zjjz0WW7Zsiblz58bBgwdj1apV0dTU5DhxUmPuoenTTjstamtr4+jRowPWHz16NGbOnJk0VeW64YYb4plnnonnn39+WC8/WQ32798fx44di4suuigmTpwYEydOjJ07d8Z9990XEydOjN7e3uwRK8KsWbPi3HPPHbDunHPOiXfffTdposr029/+NtasWRO//OUv47zzzotf//rXcdNNN0V7e3v2aBXri/vs8X5/PuZCPGnSpLj44otjx44d/ev6+vpix44dcckllyROVlmKoogbbrghtm3bFv/4xz+ipaUle6SKc9lll8Vrr70WBw8e7F9aW1tj6dKlcfDgwaitrc0esSIsWrToK299O3z4cJxxxhlJE1Wmjz/++CsXgK+trY2+vr6kiSpfS0tLzJw5c8D9ealUir17946r+/Mx+dD06tWrY9myZdHa2hoLFiyIe++9N7q7u2P58uXZo1WMtra22LJlSzz11FPR0NDQ/3xLY2Nj1NfXJ09XGRoaGr7ynPmUKVNi2rRpnkv/HzfddFNceumlceedd8bPf/7z6OjoiE2bNsWmTZuyR6soV199daxfvz5mz54dc+fOjVdeeSXuueeeuP7667NHS/XRRx/FW2+91f/1O++8EwcPHoxTTz01Zs+eHatWrYo77rgjzj777GhpaYl169ZFU1NTXHPNNXlDj7bsl20P1f3331/Mnj27mDRpUrFgwYJiz5492SNVlIg44fLoo49mj1bRvH3pxP72t78V8+bNK+rq6oo5c+YUmzZtyh6p4pRKpWLlypXF7Nmzi8mTJxff+973it///vdFT09P9mipnn/++RPeFy1btqwois/fwrRu3bpixowZRV1dXXHZZZcVhw4dyh16lLkMIgAkGnPPEQNANRFiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBINH/AaMnA/B1Q1IgAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "evaluate_policy(action_values)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "nbgrader": {
     "grade": false,
     "grade_id": "cell-54ac52d0a2b9c871",
     "locked": true,
     "schema_version": 3,
     "solution": false,
     "task": false
    }
   },
   "source": [
    "## 4) Double Q-Learning\n",
    "\n",
    "Now assume the driver had a few beers. Due to the alcohol he/she is not able to perceive the environment in detail.\n",
    "The reward is therefore stochastic whenever an action, that accelerates the car into the direction of a corner, is selected (e.g. [-1,1] in the upper right quadrant).\n",
    "A corresponding stochastic environment is given below. \n",
    "Execute the cell before continuing with the exercise.\n",
    "\n",
    "- Use this environment and try to solve it with the Q-learning function written in 3) using $\\varepsilon = 0.1$, $\\alpha = 0.5$ and $\\gamma = 1$ with the cells given below.\n",
    "\n",
    "A code template is given which repeats the training $3$ times to calculate the mean cumulated reward.\n",
    "\n",
    "\n",
    "- Write a double Q-learning algorithm to solve the above defined course with the given template.\n",
    "Use again $\\varepsilon = 0.1$, $\\alpha = 0.5$ and $\\gamma = 1$.\n",
    "\n",
    "Compare the results."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "nbgrader": {
     "grade": false,
     "grade_id": "cell-b1dc063f23f3e960",
     "locked": true,
     "schema_version": 3,
     "solution": false,
     "task": false
    }
   },
   "source": [
    "### Drunken Driver Environment"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "nbgrader": {
     "grade": false,
     "grade_id": "cell-e57ef2fd78635217",
     "locked": true,
     "schema_version": 3,
     "solution": false,
     "task": false
    }
   },
   "outputs": [],
   "source": [
    "from racetrack_environment import StochRaceTrackEnv"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "nbgrader": {
     "grade": false,
     "grade_id": "cell-1ea1d57743964d70",
     "locked": true,
     "schema_version": 3,
     "solution": false,
     "task": false
    }
   },
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "5b14dc792a214acab4ceb5c5296341aa",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Experiment:   0%|          | 0/4 [00:00<?, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "6c3a7e45079b42b682c02d4bfbffef38",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "episode:   0%|          | 0/1000 [00:00<?, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "6c9f4aeb365140f9a0c8458805087a2d",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "episode:   0%|          | 0/1000 [00:00<?, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "ec7c76bad6a94b4788ce13a71c4c7c24",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "episode:   0%|          | 0/1000 [00:00<?, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "ad648c0d620a4f3fb000cdaeee1ff44b",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "episode:   0%|          | 0/1000 [00:00<?, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# configuration parameters\n",
    "epsilon = 0.1    # exploration probability\n",
    "gamma = 1        # discount factor\n",
    "alpha = 0.5      # forgetting factor\n",
    "episodes = 1000  # number of evaluated episodes\n",
    "repetitions = 4  # repeats the training to get mean reward\n",
    "\n",
    "# define track using the course defined above\n",
    "track = StochRaceTrackEnv(course=course)\n",
    "\n",
    "reward_trajectories_Q = []\n",
    "policies_Q = []\n",
    "\n",
    "# Runs training repetitions-times\n",
    "for _ in tqdm(range(repetitions), desc='Experiment'):\n",
    "    \n",
    "    # Execute q-learning\n",
    "    cumulated_rewards, action_values = q_learning(epsilon, gamma, alpha, episodes, track)\n",
    "    \n",
    "    # store reward and policy\n",
    "    reward_trajectories_Q.append(cumulated_rewards)\n",
    "    policies_Q.append(action_values)\n",
    "    \n",
    "plt.plot(np.vstack(reward_trajectories_Q).mean(axis=0))\n",
    "plt.title('Q-learning')\n",
    "plt.xlabel('Episode')\n",
    "plt.ylabel('Mean Cumulated Reward')\n",
    "plt.ylim(-400, 0) \n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "nbgrader": {
     "grade": false,
     "grade_id": "cell-5796699faabb48d5",
     "locked": true,
     "schema_version": 3,
     "solution": false,
     "task": false
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Done\n",
      "Sample trajectory on learned policy in episode 0:\n"
     ]
    },
    {
     "data": {
      "image/png": "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QCIhBoBEQgwAib5ViO+8886oqamJ1atXD9M4ADC+DDnE+/bti4ceeijOP//84ZwHAMaVIYX4o48+iqVLl8bDDz8cp5xyynDPBADjxpBC3NbWFkuWLInFixd/47Y9PT1RKpUGLADA5yaWu8O2bdvi4MGDsW/fvkFt397eHrfeemvZgwHAeFDWFXFHR0esWrUqHn300Zg8efKg9lm3bl10dXX1Lx0dHUMaFACqUVlXxAcOHIjOzs646KKL+tf19vbGCy+8EPfff3/09PREbW3tgH3q6uqirq5ueKYFgCpTVogvu+yyeO211wasW758ecyZMyduuummr0QYADi5skLc0NAQ8+bNG7BuypQpMW3atK+sBwC+mU/WAoBEZb9q+v97/vnnh2EMABifXBEDQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAib71Z00zgvbWZE8AVALngqrmihgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkGhi9gCcxIIie4Kv6N5Tkz0CjD8VeC6Ivc4Fw8UVMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEZYf4vffei+uuuy6mTZsW9fX1cd5558X+/ftHYjYAqHplfR/xhx9+GIsWLYqf/OQn8cwzz8R3v/vdePPNN+OUU04ZqfkAoKqVFeKNGzdGc3NzPPLII/3rWlpahn0oABgvynpo+qmnnorW1ta49tprY/r06XHhhRfGww8/fNJ9enp6olQqDVgAgM+VFeK33347Nm3aFGeffXb8/e9/j9/85jexcuXK2LJly9fu097eHo2Njf1Lc3Pztx4aAKpFTVEUxWA3njRpUrS2tsZLL73Uv27lypWxb9++ePnll0+4T09PT/T09PTfLpVK0dzcHPURUTP0uYdd957sCU5gwaD/NKNnbyX91WCccC4YlCkLsyf4UhER/42Irq6umDp16km3LeuKeNasWXHuuecOWHfOOefEu++++7X71NXVxdSpUwcsAMDnygrxokWL4vDhwwPWHTlyJM4444xhHQoAxouyQnzjjTfG7t2744477oi33nortm7dGps3b462traRmg8AqlpZIZ4/f35s3749HnvssZg3b17cdtttcc8998TSpUtHaj4AqGplvY84IuKqq66Kq666aiRmAYBxx2dNA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAInK/qxpRlEFfvG2LygfpEo8TpXI325wKvE4MWxcEQNAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEk3MHoAxZm9N9gRjg+M0dvnbMcpcEQNAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIVFaIe3t7Y/369dHS0hL19fVx1llnxW233RZFUYzUfABQ1cr6PuKNGzfGpk2bYsuWLTF37tzYv39/LF++PBobG2PlypUjNSMAVK2yQvzSSy/FT3/601iyZElERJx55pnx2GOPxd69e0dkOACodmU9NH3ppZfGzp0748iRIxER8eqrr8aLL74YV1555dfu09PTE6VSacACAHyurCvitWvXRqlUijlz5kRtbW309vbGhg0bYunSpV+7T3t7e9x6663felAAqEZlXRE/8cQT8eijj8bWrVvj4MGDsWXLlvjjH/8YW7Zs+dp91q1bF11dXf1LR0fHtx4aAKpFTVHGS56bm5tj7dq10dbW1r/u9ttvj7/85S/xxhtvDOp3lEqlaGxsjPqIqCl73JHTvSd7AgC+jSkLsyf4UhER/42Irq6umDp16km3LeuK+OOPP44JEwbuUltbG319feXOCABEmc8RX3311bFhw4aYPXt2zJ07N1555ZW4++67Y8WKFSM1HwBUtbIemj5+/HisX78+tm/fHp2dndHU1BS/+tWv4uabb45JkyYN6nd4aBqAkTBWH5ouK8TDQYgBGAljNcQ+axoAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIVNa3L1WzSvqMUgDGD1fEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQKKJo32HRVF8/t/RvmMAGCVfNO6L5p3MqIf4+PHjERHxyWjfMQCMsuPHj0djY+NJt6kpBpPrYdTX1xfvv/9+NDQ0RE1NzZB/T6lUiubm5ujo6IipU6cO44TVxXEaHMdpcBynwXGcBqeaj1NRFHH8+PFoamqKCRNO/izwqF8RT5gwIU4//fRh+31Tp06tuj/gSHCcBsdxGhzHaXAcp8Gp1uP0TVfCX/BiLQBIJMQAkGjMhriuri5uueWWqKuryx6lojlOg+M4DY7jNDiO0+A4Tp8b9RdrAQBfGrNXxABQDYQYABIJMQAkEmIASDRmQ/zAAw/EmWeeGZMnT46FCxfG3r17s0eqKO3t7TF//vxoaGiI6dOnxzXXXBOHDx/OHqui3XnnnVFTUxOrV6/OHqXivPfee3HdddfFtGnTor6+Ps4777zYv39/9lgVpbe3N9avXx8tLS1RX18fZ511Vtx2222D+qzhavbCCy/E1VdfHU1NTVFTUxN//etfB/y8KIq4+eabY9asWVFfXx+LFy+ON998M2fYJGMyxI8//nisWbMmbrnlljh48GBccMEFccUVV0RnZ2f2aBVj165d0dbWFrt3744dO3bEZ599Fpdffnl0d3dnj1aR9u3bFw899FCcf/752aNUnA8//DAWLVoU3/nOd+KZZ56Jf/7zn/GnP/0pTjnllOzRKsrGjRtj06ZNcf/998e//vWv2LhxY9x1111x3333ZY+Wqru7Oy644IJ44IEHTvjzu+66K+6999548MEHY8+ePTFlypS44oor4pNPxtE3EhRj0IIFC4q2trb+2729vUVTU1PR3t6eOFVl6+zsLCKi2LVrV/YoFef48ePF2WefXezYsaP40Y9+VKxatSp7pIpy0003FT/4wQ+yx6h4S5YsKVasWDFg3c9+9rNi6dKlSRNVnogotm/f3n+7r6+vmDlzZvGHP/yhf91//vOfoq6urnjssccSJswx5q6IP/300zhw4EAsXry4f92ECRNi8eLF8fLLLydOVtm6uroiIuLUU09NnqTytLW1xZIlSwb8m+JLTz31VLS2tsa1114b06dPjwsvvDAefvjh7LEqzqWXXho7d+6MI0eORETEq6++Gi+++GJceeWVyZNVrnfeeSeOHj064P+9xsbGWLhw4bg6n4/6lz58Wx988EH09vbGjBkzBqyfMWNGvPHGG0lTVba+vr5YvXp1LFq0KObNm5c9TkXZtm1bHDx4MPbt25c9SsV6++23Y9OmTbFmzZr43e9+F/v27YuVK1fGpEmTYtmyZdnjVYy1a9dGqVSKOXPmRG1tbfT29saGDRti6dKl2aNVrKNHj0ZEnPB8/sXPxoMxF2LK19bWFq+//nq8+OKL2aNUlI6Ojli1alXs2LEjJk+enD1Oxerr64vW1ta44447IiLiwgsvjNdffz0efPBBIf4fTzzxRDz66KOxdevWmDt3bhw6dChWr14dTU1NjhMnNeYemj7ttNOitrY2jh07NmD9sWPHYubMmUlTVa7rr78+nn766XjuueeG9esnq8GBAweis7MzLrroopg4cWJMnDgxdu3aFffee29MnDgxent7s0esCLNmzYpzzz13wLpzzjkn3n333aSJKtNvf/vbWLt2bfzyl7+M8847L37961/HjTfeGO3t7dmjVawvztnj/Xw+5kI8adKkuPjii2Pnzp396/r6+mLnzp1xySWXJE5WWYqiiOuvvz62b98e//jHP6KlpSV7pIpz2WWXxWuvvRaHDh3qX1pbW2Pp0qVx6NChqK2tzR6xIixatOgrb307cuRInHHGGUkTVaaPP/74K18AX1tbG319fUkTVb6WlpaYOXPmgPN5qVSKPXv2jKvz+Zh8aHrNmjWxbNmyaG1tjQULFsQ999wT3d3dsXz58uzRKkZbW1ts3bo1nnzyyWhoaOh/vqWxsTHq6+uTp6sMDQ0NX3nOfMqUKTFt2jTPpf+PG2+8MS699NK444474uc//3ns3bs3Nm/eHJs3b84eraJcffXVsWHDhpg9e3bMnTs3Xnnllbj77rtjxYoV2aOl+uijj+Ktt97qv/3OO+/EoUOH4tRTT43Zs2fH6tWr4/bbb4+zzz47WlpaYv369dHU1BTXXHNN3tCjLftl20N13333FbNnzy4mTZpULFiwoNi9e3f2SBUlIk64PPLII9mjVTRvXzqxv/3tb8W8efOKurq6Ys6cOcXmzZuzR6o4pVKpWLVqVTF79uxi8uTJxfe+973i97//fdHT05M9WqrnnnvuhOeiZcuWFUXx+VuY1q9fX8yYMaOoq6srLrvssuLw4cO5Q48yX4MIAInG3HPEAFBNhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBI9H8HGwbRq7FwAwAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Done\n",
      "Sample trajectory on learned policy in episode 1:\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeIAAAGdCAYAAADOnXC3AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAVQUlEQVR4nO3dbWxVhf3A8V8pozSkNIrjobFoZ0xQUKcWiLLsIRKNQTOzxD0EF4LvliogySJsQWMUK24zRCEovnAkE9E3TGeiC2GKMcqDIEazCRpNbDTATFwv1llNe/4vjHX9i9hb2v5ubz+f5MTc03N6fznF8825jzVFURQBAKQYlz0AAIxlQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQKLxI32Hvb298cEHH0RDQ0PU1NSM9N0DwLAriiKOHz8eTU1NMW7cya95RzzEH3zwQTQ3N4/03QLAiOvo6IgzzzzzpNuMeIgbGhoiImJiRLgeBqAaFRHxaXzVvJMZ8RB/+XB0TQgxANVtIE/BerEWACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkGhQId64cWOcffbZMXHixJg/f37s3bt3qOcCgDGh7BA//vjjsXLlyrj99tvjwIEDcdFFF8VVV10Vx44dG475AKCq1RRFUZSzw/z582Pu3LmxYcOGiIjo7e2N5ubmuPnmm2PVqlXfun+pVIrGxsaoD9++BEB1KiLivxHR2dkZkydPPum2ZV0Rf/bZZ7F///5YuHDhV79g3LhYuHBhvPzyyyfcp7u7O0qlUr8FAPhCWSH+8MMPo6enJ6ZNm9Zv/bRp0+LIkSMn3Ke9vT0aGxv7lubm5sFPCwBVZthfNb169ero7OzsWzo6Oob7LgFg1BhfzsZnnHFG1NbWxtGjR/utP3r0aEyfPv2E+9TV1UVdXd3gJwSAKlbWFfGECRPi0ksvjZ07d/at6+3tjZ07d8Zll1025MMBQLUr64o4ImLlypWxZMmSaG1tjXnz5sX69eujq6srli5dOhzzAUBVKzvEv/jFL+Lf//533HbbbXHkyJH4/ve/H88+++zXXsAFAHy7st9HfKq8jxiAajds7yMGAIaWEANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERlf+lDterakz0BVWXeiH6E+4BMqqm8T3d/N3uAE5jqXDBqTZqfPcHguCIGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEpUV4vb29pg7d240NDTE1KlT47rrrotDhw4N12wAUPXKCvGuXbuira0tdu/eHTt27IjPP/88rrzyyujq6hqu+QCgqo0vZ+Nnn3223+0///nPMXXq1Ni/f3/88Ic/HNLBAGAsKCvE/19nZ2dERJx++unfuE13d3d0d3f33S6VSqdylwBQVQb9Yq3e3t5YsWJFLFiwIObMmfON27W3t0djY2Pf0tzcPNi7BICqM+gQt7W1xRtvvBHbtm076XarV6+Ozs7OvqWjo2OwdwkAVWdQD03fdNNN8fTTT8cLL7wQZ5555km3rauri7q6ukENBwDVrqwQF0URN998c2zfvj2ef/75aGlpGa65AGBMKCvEbW1tsXXr1njyySejoaEhjhw5EhERjY2NUV9fPywDAkA1K+s54k2bNkVnZ2f8+Mc/jhkzZvQtjz/++HDNBwBVreyHpgGAoeOzpgEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEg/o+YsaweRX4eeN7a7InYJCm7sme4AT8G2eEuSIGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQanz0AJzGvyJ7gaybV1GSPMEo4TgMxaX72BCdSeX+7rqLyzgWxt/KO02jlihgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAolMK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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Done\n",
      "Sample trajectory on learned policy in episode 2:\n"
     ]
    },
    {
     "data": {
      "image/png": "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QCIhBoBEQgwAib5ViO+8886oqamJ1atXD9M4ADC+DDnE+/bti4ceeijOP//84ZwHAMaVIYX4o48+iqVLl8bDDz8cp5xyynDPBADjxpBC3NbWFkuWLInFixd/47Y9PT1RKpUGLADA5yaWu8O2bdvi4MGDsW/fvkFt397eHrfeemvZgwHAeFDWFXFHR0esWrUqHn300Zg8efKg9lm3bl10dXX1Lx0dHUMaFACqUVlXxAcOHIjOzs646KKL+tf19vbGCy+8EPfff3/09PREbW3tgH3q6uqirq5ueKYFgCpTVogvu+yyeO211wasW758ecyZMyduuummr0QYADi5skLc0NAQ8+bNG7BuypQpMW3atK+sBwC+mU/WAoBEZb9q+v97/vnnh2EMABifXBEDQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAib71Z00zgvbWZE8AVALngqrmihgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkGhi9gCcxIIie4Kv6N5Tkz0CjD8VeC6Ivc4Fw8UVMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEZYf4vffei+uuuy6mTZsW9fX1cd5558X+/ftHYjYAqHplfR/xhx9+GIsWLYqf/OQn8cwzz8R3v/vdePPNN+OUU04ZqfkAoKqVFeKNGzdGc3NzPPLII/3rWlpahn0oABgvynpo+qmnnorW1ta49tprY/r06XHhhRfGww8/fNJ9enp6olQqDVgAgM+VFeK33347Nm3aFGeffXb8/e9/j9/85jexcuXK2LJly9fu097eHo2Njf1Lc3Pztx4aAKpFTVEUxWA3njRpUrS2tsZLL73Uv27lypWxb9++ePnll0+4T09PT/T09PTfLpVK0dzcHPURUTP0uYdd957sCU5gwaD/NKNnbyX91WCccC4YlCkLsyf4UhER/42Irq6umDp16km3LeuKeNasWXHuuecOWHfOOefEu++++7X71NXVxdSpUwcsAMDnygrxokWL4vDhwwPWHTlyJM4444xhHQoAxouyQnzjjTfG7t2744477oi33nortm7dGps3b462traRmg8AqlpZIZ4/f35s3749HnvssZg3b17cdtttcc8998TSpUtHaj4AqGplvY84IuKqq66Kq666aiRmAYBxx2dNA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAInK/qxpRlEFfvG2LygfpEo8TpXI325wKvE4MWxcEQNAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEk3MHoAxZm9N9gRjg+M0dvnbMcpcEQNAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIVFaIe3t7Y/369dHS0hL19fVx1llnxW233RZFUYzUfABQ1cr6PuKNGzfGpk2bYsuWLTF37tzYv39/LF++PBobG2PlypUjNSMAVK2yQvzSSy/FT3/601iyZElERJx55pnx2GOPxd69e0dkOACodmU9NH3ppZfGzp0748iRIxER8eqrr8aLL74YV1555dfu09PTE6VSacACAHyurCvitWvXRqlUijlz5kRtbW309vbGhg0bYunSpV+7T3t7e9x6663felAAqEZlXRE/8cQT8eijj8bWrVvj4MGDsWXLlvjjH/8YW7Zs+dp91q1bF11dXf1LR0fHtx4aAKpFTVHGS56bm5tj7dq10dbW1r/u9ttvj7/85S/xxhtvDOp3lEqlaGxsjPqIqCl73JHTvSd7AgC+jSkLsyf4UhER/42Irq6umDp16km3LeuK+OOPP44JEwbuUltbG319feXOCABEmc8RX3311bFhw4aYPXt2zJ07N1555ZW4++67Y8WKFSM1HwBUtbIemj5+/HisX78+tm/fHp2dndHU1BS/+tWv4uabb45JkyYN6nd4aBqAkTBWH5ouK8TDQYgBGAljNcQ+axoAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIVNa3L1WzSvqMUgDGD1fEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQKKJo32HRVF8/t/RvmMAGCVfNO6L5p3MqIf4+PHjERHxyWjfMQCMsuPHj0djY+NJt6kpBpPrYdTX1xfvv/9+NDQ0RE1NzZB/T6lUiubm5ujo6IipU6cO44TVxXEaHMdpcBynwXGcBqeaj1NRFHH8+PFoamqKCRNO/izwqF8RT5gwIU4//fRh+31Tp06tuj/gSHCcBsdxGhzHaXAcp8Gp1uP0TVfCX/BiLQBIJMQAkGjMhriuri5uueWWqKuryx6lojlOg+M4DY7jNDiO0+A4Tp8b9RdrAQBfGrNXxABQDYQYABIJMQAkEmIASDRmQ/zAAw/EmWeeGZMnT46FCxfG3r17s0eqKO3t7TF//vxoaGiI6dOnxzXXXBOHDx/OHqui3XnnnVFTUxOrV6/OHqXivPfee3HdddfFtGnTor6+Ps4777zYv39/9lgVpbe3N9avXx8tLS1RX18fZ511Vtx2222D+qzhavbCCy/E1VdfHU1NTVFTUxN//etfB/y8KIq4+eabY9asWVFfXx+LFy+ON998M2fYJGMyxI8//nisWbMmbrnlljh48GBccMEFccUVV0RnZ2f2aBVj165d0dbWFrt3744dO3bEZ599Fpdffnl0d3dnj1aR9u3bFw899FCcf/752aNUnA8//DAWLVoU3/nOd+KZZ56Jf/7zn/GnP/0pTjnllOzRKsrGjRtj06ZNcf/998e//vWv2LhxY9x1111x3333ZY+Wqru7Oy644IJ44IEHTvjzu+66K+6999548MEHY8+ePTFlypS44oor4pNPxtE3EhRj0IIFC4q2trb+2729vUVTU1PR3t6eOFVl6+zsLCKi2LVrV/YoFef48ePF2WefXezYsaP40Y9+VKxatSp7pIpy0003FT/4wQ+yx6h4S5YsKVasWDFg3c9+9rNi6dKlSRNVnogotm/f3n+7r6+vmDlzZvGHP/yhf91//vOfoq6urnjssccSJswx5q6IP/300zhw4EAsXry4f92ECRNi8eLF8fLLLydOVtm6uroiIuLUU09NnqTytLW1xZIlSwb8m+JLTz31VLS2tsa1114b06dPjwsvvDAefvjh7LEqzqWXXho7d+6MI0eORETEq6++Gi+++GJceeWVyZNVrnfeeSeOHj064P+9xsbGWLhw4bg6n4/6lz58Wx988EH09vbGjBkzBqyfMWNGvPHGG0lTVba+vr5YvXp1LFq0KObNm5c9TkXZtm1bHDx4MPbt25c9SsV6++23Y9OmTbFmzZr43e9+F/v27YuVK1fGpEmTYtmyZdnjVYy1a9dGqVSKOXPmRG1tbfT29saGDRti6dKl2aNVrKNHj0ZEnPB8/sXPxoMxF2LK19bWFq+//nq8+OKL2aNUlI6Ojli1alXs2LEjJk+enD1Oxerr64vW1ta44447IiLiwgsvjNdffz0efPBBIf4fTzzxRDz66KOxdevWmDt3bhw6dChWr14dTU1NjhMnNeYemj7ttNOitrY2jh07NmD9sWPHYubMmUlTVa7rr78+nn766XjuueeG9esnq8GBAweis7MzLrroopg4cWJMnDgxdu3aFffee29MnDgxent7s0esCLNmzYpzzz13wLpzzjkn3n333aSJKtNvf/vbWLt2bfzyl7+M8847L37961/HjTfeGO3t7dmjVawvztnj/Xw+5kI8adKkuPjii2Pnzp396/r6+mLnzp1xySWXJE5WWYqiiOuvvz62b98e//jHP6KlpSV7pIpz2WWXxWuvvRaHDh3qX1pbW2Pp0qVx6NChqK2tzR6xIixatOgrb307cuRInHHGGUkTVaaPP/74K18AX1tbG319fUkTVb6WlpaYOXPmgPN5qVSKPXv2jKvz+Zh8aHrNmjWxbNmyaG1tjQULFsQ999wT3d3dsXz58uzRKkZbW1ts3bo1nnzyyWhoaOh/vqWxsTHq6+uTp6sMDQ0NX3nOfMqUKTFt2jTPpf+PG2+8MS699NK444474uc//3ns3bs3Nm/eHJs3b84eraJcffXVsWHDhpg9e3bMnTs3Xnnllbj77rtjxYoV2aOl+uijj+Ktt97qv/3OO+/EoUOH4tRTT43Zs2fH6tWr4/bbb4+zzz47WlpaYv369dHU1BTXXHNN3tCjLftl20N13333FbNnzy4mTZpULFiwoNi9e3f2SBUlIk64PPLII9mjVTRvXzqxv/3tb8W8efOKurq6Ys6cOcXmzZuzR6o4pVKpWLVqVTF79uxi8uTJxfe+973i97//fdHT05M9WqrnnnvuhOeiZcuWFUXx+VuY1q9fX8yYMaOoq6srLrvssuLw4cO5Q48yX4MIAInG3HPEAFBNhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBI9H8HGwbRq7FwAwAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Done\n",
      "Sample trajectory on learned policy in episode 3:\n"
     ]
    },
    {
     "data": {
      "image/png": "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A0AiIQaARN8qxHfeeWfU1NTEypUrh2kcABhbTjrEe/bsiYceeiguvPDC4ZwHAMaUkwrxxx9/HIsXL46HH344TjvttOGeCQDGjJMKcVtbWyxatCgWLlz4jdv29vZGqVQatAAAXxhf7g6PP/547Nu3L/bs2TOk7dvb2+PWW28tezAAGAvKOiPu7OyMFStWxKOPPhoTJ04c0j5r1qyJ7u7ugaWzs/OkBgWAalTWGfHevXujq6srLrnkkoF1fX198eKLL8b9998fvb29UVtbO2ifurq6qKurG55pAaDKlBXiK664It54441B65YuXRqzZs2KW2655ZgIAwAnVlaIGxoaYs6cOYPWTZo0KaZMmXLMegDgm/lkLQBIVParpv+/F154YRjGAICxyRkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkOhbf9Y0I6ijJnsCoBK4L6hqzogBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAInGZw/ACcwrsic4Rs/umuwRYOypwPuC6HBfMFycEQNAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIVHaI33///bjhhhtiypQpUV9fHxdccEG8+uqrIzEbAFS9sq5H/NFHH8WCBQviJz/5STz77LPx3e9+N95666047bTTRmo+AKhqZYV448aN0dzcHI888sjAupaWlmEfCgDGirIemn766aejtbU1rr/++pg6dWpcfPHF8fDDD59wn97e3iiVSoMWAOALZYX4nXfeiU2bNsW5554bf//73+M3v/lNLF++PLZs2fK1+7S3t0djY+PA0tzc/K2HBoBqUVMURTHUjSdMmBCtra3x8ssvD6xbvnx57NmzJ1555ZXj7tPb2xu9vb0DX5dKpWhubo76iKg5+bmHXc/u7AmOY96QfzWjp6OSfmswRrgvGJJJ87Mn+EoREf+NiO7u7pg8efIJty3rjHjGjBlx/vnnD1p33nnnxXvv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n6Kurq547LHHEibMccqdEX/22Wexd+/eWLhw4cC6cePGxcKFC+OVV15JnKyydXd3R0TE6aefnjxJ5Wlra4tFixYN+pviK08//XS0trbG9ddfH1OnTo2LL744Hn744eyxKs7ll18eO3bsiEOHDkVExOuvvx4vvfRSXH311cmTVa533303Dh8+POj/XmNjY8yfP39M3Z+P+kUfvq0PP/ww+vr6Ytq0aYPWT5s2Ld58882kqSpbf39/rFy5MhYsWBBz5szJHqeiPP7447Fv377Ys2dP9igV65133olNmzbFqlWr4ne/+13s2bMnli9fHhMmTIglS5Zkj1cxVq9eHaVSKWbNmhW1tbXR19cXGzZsiMWLF2ePVrEOHz4cEXHc+/MvvzcWnHIhpnxtbW1x4MCBeOmll7JHqSidnZ2xYsWK2L59e0ycODF7nIrV398fra2tcccdd0RExMUXXxwHDhyIBx98UIj/x5NPPhmPPvpobN26NWbPnh379++PlStXRlNTk+PECZ1yD02fccYZUVtbG0eOHBm0/siRIzF9+vSkqSrXsmXL4plnnonnn39+WC8/WQ327t0bXV1dcckll8T48eNj/PjxsXPnzrj33ntj/Pjx0dfXlz1iRZgxY0acf/75g9add9558d577yVNVJl++9vfxurVq+OXv/xlXHDBBfHrX/86br755mhvb88erWJ9eZ891u/PT7kQT5gwIS699NLYsWPHwLr+/v7YsWNHXHbZZYmTVZaiKGLZsmWxbdu2+Mc//hEtLS3ZI1WcK664It54443Yv3//wNLa2hqLFy+O/fv3R21tbfaIFWHBggXHvPXt0KFDcdZZZyVNVJk++eSTYy4AX1tbG/39/UkTVb6WlpaYPn36oPvzUqkUu3fvHlP356fkQ9OrVq2KJUuWRGtra8ybNy/uueee6OnpiaVLl2aPVjHa2tpi69at8dRTT0VDQ8PA8y2NjY1RX1+fPF1laGhoOOY580mTJsWUKVM8l/4/br755rj88svjjjvuiJ///OfR0dERmzdvjs2bN2ePVlGuvfba2LBhQ8ycOTNmz54dr732Wtx9991x4403Zo+W6uOPP46333574Ot333039u/fH6effnrMnDkzVq5cGbfffnuce+650dLSEmvXro2mpqa47rrr8oYebdkv2z5Z9913XzFz5sxiwoQJxbx584pdu3Zlj1RRIuK4yyOPPJI9WkXz9qXj+9vf/lbMmTOnqKurK2bNmlVs3rw5e6SKUyqVihUrVhQzZ84sJk6cWHzve98rfv/73xe9vb3Zo6V6/vnnj3tftGTJkqIovngL09q1a4tp06YVdXV1xRVXXFEcPHgwd+hR5jKIAJDolHuOGACqiRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAif4P1+4G8vrJ4qAAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Done\n",
      "Sample trajectory on learned policy in episode 4:\n"
     ]
    },
    {
     "data": {
      "image/png": "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A0AiIQaARN8qxHfeeWfU1NTEypUrh2kcABhbTjrEe/bsiYceeiguvPDC4ZwHAMaUkwrxxx9/HIsXL46HH344TjvttOGeCQDGjJMKcVtbWyxatCgWLlz4jdv29vZGqVQatAAAXxhf7g6PP/547Nu3L/bs2TOk7dvb2+PWW28tezAAGAvKOiPu7OyMFStWxKOPPhoTJ04c0j5r1qyJ7u7ugaWzs/OkBgWAalTWGfHevXujq6srLrnkkoF1fX198eKLL8b9998fvb29UVtbO2ifurq6qKurG55pAaDKlBXiK664It54441B65YuXRqzZs2KW2655ZgIAwAnVlaIGxoaYs6cOYPWTZo0KaZMmXLMegDgm/lkLQBIVParpv+/F154YRjGAICxyRkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkOhbf9Y0I6ijJnsCoBK4L6hqzogBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAInGZw/ACcwrsic4Rs/umuwRYOypwPuC6HBfMFycEQNAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIVHaI33///bjhhhtiypQpUV9fHxdccEG8+uqrIzEbAFS9sq5H/NFHH8WCBQviJz/5STz77LPx3e9+N95666047bTTRmo+AKhqZYV448aN0dzcHI888sjAupaWlmEfCgDGirIemn766aejtbU1rr/++pg6dWpcfPHF8fDDD59wn97e3iiVSoMWAOALZYX4nXfeiU2bNsW5554bf//73+M3v/lNLF++PLZs2fK1+7S3t0djY+PA0tzc/K2HBoBqUVMURTHUjSdMmBCtra3x8ssvD6xbvnx57NmzJ1555ZXj7tPb2xu9vb0DX5dKpWhubo76iKg5+bmHXc/u7AmOY96QfzWjp6OSfmswRrgvGJJJ87Mn+EoREf+NiO7u7pg8efIJty3rjHjGjBlx/vnnD1p33nnnxXvv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n6Kurq547LHHEibMccqdEX/22Wexd+/eWLhw4cC6cePGxcKFC+OVV15JnKyydXd3R0TE6aefnjxJ5Wlra4tFixYN+pviK08//XS0trbG9ddfH1OnTo2LL744Hn744eyxKs7ll18eO3bsiEOHDkVExOuvvx4vvfRSXH311cmTVa533303Dh8+POj/XmNjY8yfP39M3Z+P+kUfvq0PP/ww+vr6Ytq0aYPWT5s2Ld58882kqSpbf39/rFy5MhYsWBBz5szJHqeiPP7447Fv377Ys2dP9igV65133olNmzbFqlWr4ne/+13s2bMnli9fHhMmTIglS5Zkj1cxVq9eHaVSKWbNmhW1tbXR19cXGzZsiMWLF2ePVrEOHz4cEXHc+/MvvzcWnHIhpnxtbW1x4MCBeOmll7JHqSidnZ2xYsWK2L59e0ycODF7nIrV398fra2tcccdd0RExMUXXxwHDhyIBx98UIj/x5NPPhmPPvpobN26NWbPnh379++PlStXRlNTk+PECZ1yD02fccYZUVtbG0eOHBm0/siRIzF9+vSkqSrXsmXL4plnnonnn39+WC8/WQ327t0bXV1dcckll8T48eNj/PjxsXPnzrj33ntj/Pjx0dfXlz1iRZgxY0acf/75g9add9558d577yVNVJl++9vfxurVq+OXv/xlXHDBBfHrX/86br755mhvb88erWJ9eZ891u/PT7kQT5gwIS699NLYsWPHwLr+/v7YsWNHXHbZZYmTVZaiKGLZsmWxbdu2+Mc//hEtLS3ZI1WcK664It54443Yv3//wNLa2hqLFy+O/fv3R21tbfaIFWHBggXHvPXt0KFDcdZZZyVNVJk++eSTYy4AX1tbG/39/UkTVb6WlpaYPn36oPvzUqkUu3fvHlP356fkQ9OrVq2KJUuWRGtra8ybNy/uueee6OnpiaVLl2aPVjHa2tpi69at8dRTT0VDQ8PA8y2NjY1RX1+fPF1laGhoOOY580mTJsWUKVM8l/4/br755rj88svjjjvuiJ///OfR0dERmzdvjs2bN2ePVlGuvfba2LBhQ8ycOTNmz54dr732Wtx9991x4403Zo+W6uOPP46333574Ot333039u/fH6effnrMnDkzVq5cGbfffnuce+650dLSEmvXro2mpqa47rrr8oYebdkv2z5Z9913XzFz5sxiwoQJxbx584pdu3Zlj1RRIuK4yyOPPJI9WkXz9qXj+9vf/lbMmTOnqKurK2bNmlVs3rw5e6SKUyqVihUrVhQzZ84sJk6cWHzve98rfv/73xe9vb3Zo6V6/vnnj3tftGTJkqIovngL09q1a4tp06YVdXV1xRVXXFEcPHgwd+hR5jKIAJDolHuOGACqiRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAif4P1+4G8vrJ4qAAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Done\n",
      "Sample trajectory on learned policy in episode 5:\n"
     ]
    },
    {
     "data": {
      "image/png": "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QCIhBoBEQgwAib5ViO+8886oqamJ1atXD9M4ADC+DDnE+/bti4ceeijOP//84ZwHAMaVIYX4o48+iqVLl8bDDz8cp5xyynDPBADjxpBC3NbWFkuWLInFixd/47Y9PT1RKpUGLADA5yaWu8O2bdvi4MGDsW/fvkFt397eHrfeemvZgwHAeFDWFXFHR0esWrUqHn300Zg8efKg9lm3bl10dXX1Lx0dHUMaFACqUVlXxAcOHIjOzs646KKL+tf19vbGCy+8EPfff3/09PREbW3tgH3q6uqirq5ueKYFgCpTVogvu+yyeO211wasW758ecyZMyduuummr0QYADi5skLc0NAQ8+bNG7BuypQpMW3atK+sBwC+mU/WAoBEZb9q+v97/vnnh2EMABifXBEDQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAib71Z00zgvbWZE8AVALngqrmihgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkGhi9gCcxIIie4Kv6N5Tkz0CjD8VeC6Ivc4Fw8UVMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEZYf4vffei+uuuy6mTZsW9fX1cd5558X+/ftHYjYAqHplfR/xhx9+GIsWLYqf/OQn8cwzz8R3v/vdePPNN+OUU04ZqfkAoKqVFeKNGzdGc3NzPPLII/3rWlpahn0oABgvynpo+qmnnorW1ta49tprY/r06XHhhRfGww8/fNJ9enp6olQqDVgAgM+VFeK33347Nm3aFGeffXb8/e9/j9/85jexcuXK2LJly9fu097eHo2Njf1Lc3Pztx4aAKpFTVEUxWA3njRpUrS2tsZLL73Uv27lypWxb9++ePnll0+4T09PT/T09PTfLpVK0dzcHPURUTP0uYdd957sCU5gwaD/NKNnbyX91WCccC4YlCkLsyf4UhER/42Irq6umDp16km3LeuKeNasWXHuuecOWHfOOefEu++++7X71NXVxdSpUwcsAMDnygrxokWL4vDhwwPWHTlyJM4444xhHQoAxouyQnzjjTfG7t2744477oi33nortm7dGps3b462traRmg8AqlpZIZ4/f35s3749HnvssZg3b17cdtttcc8998TSpUtHaj4AqGplvY84IuKqq66Kq666aiRmAYBxx2dNA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAInK/qxpRlEFfvG2LygfpEo8TpXI325wKvE4MWxcEQNAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEk3MHoAxZm9N9gRjg+M0dvnbMcpcEQNAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIVFaIe3t7Y/369dHS0hL19fVx1llnxW233RZFUYzUfABQ1cr6PuKNGzfGpk2bYsuWLTF37tzYv39/LF++PBobG2PlypUjNSMAVK2yQvzSSy/FT3/601iyZElERJx55pnx2GOPxd69e0dkOACodmU9NH3ppZfGzp0748iRIxER8eqrr8aLL74YV1555dfu09PTE6VSacACAHyurCvitWvXRqlUijlz5kRtbW309vbGhg0bYunSpV+7T3t7e9x6663felAAqEZlXRE/8cQT8eijj8bWrVvj4MGDsWXLlvjjH/8YW7Zs+dp91q1bF11dXf1LR0fHtx4aAKpFTVHGS56bm5tj7dq10dbW1r/u9ttvj7/85S/xxhtvDOp3lEqlaGxsjPqIqCl73JHTvSd7AgC+jSkLsyf4UhER/42Irq6umDp16km3LeuK+OOPP44JEwbuUltbG319feXOCABEmc8RX3311bFhw4aYPXt2zJ07N1555ZW4++67Y8WKFSM1HwBUtbIemj5+/HisX78+tm/fHp2dndHU1BS/+tWv4uabb45JkyYN6nd4aBqAkTBWH5ouK8TDQYgBGAljNcQ+axoAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIVNa3L1WzSvqMUgDGD1fEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQKKJo32HRVF8/t/RvmMAGCVfNO6L5p3MqIf4+PHjERHxyWjfMQCMsuPHj0djY+NJt6kpBpPrYdTX1xfvv/9+NDQ0RE1NzZB/T6lUiubm5ujo6IipU6cO44TVxXEaHMdpcBynwXGcBqeaj1NRFHH8+PFoamqKCRNO/izwqF8RT5gwIU4//fRh+31Tp06tuj/gSHCcBsdxGhzHaXAcp8Gp1uP0TVfCX/BiLQBIJMQAkGjMhriuri5uueWWqKuryx6lojlOg+M4DY7jNDiO0+A4Tp8b9RdrAQBfGrNXxABQDYQYABIJMQAkEmIASDRmQ/zAAw/EmWeeGZMnT46FCxfG3r17s0eqKO3t7TF//vxoaGiI6dOnxzXXXBOHDx/OHqui3XnnnVFTUxOrV6/OHqXivPfee3HdddfFtGnTor6+Ps4777zYv39/9lgVpbe3N9avXx8tLS1RX18fZ511Vtx2222D+qzhavbCCy/E1VdfHU1NTVFTUxN//etfB/y8KIq4+eabY9asWVFfXx+LFy+ON998M2fYJGMyxI8//nisWbMmbrnlljh48GBccMEFccUVV0RnZ2f2aBVj165d0dbWFrt3744dO3bEZ599Fpdffnl0d3dnj1aR9u3bFw899FCcf/752aNUnA8//DAWLVoU3/nOd+KZZ56Jf/7zn/GnP/0pTjnllOzRKsrGjRtj06ZNcf/998e//vWv2LhxY9x1111x3333ZY+Wqru7Oy644IJ44IEHTvjzu+66K+6999548MEHY8+ePTFlypS44oor4pNPxtE3EhRj0IIFC4q2trb+2729vUVTU1PR3t6eOFVl6+zsLCKi2LVrV/YoFef48ePF2WefXezYsaP40Y9+VKxatSp7pIpy0003FT/4wQ+yx6h4S5YsKVasWDFg3c9+9rNi6dKlSRNVnogotm/f3n+7r6+vmDlzZvGHP/yhf91//vOfoq6urnjssccSJswx5q6IP/300zhw4EAsXry4f92ECRNi8eLF8fLLLydOVtm6uroiIuLUU09NnqTytLW1xZIlSwb8m+JLTz31VLS2tsa1114b06dPjwsvvDAefvjh7LEqzqWXXho7d+6MI0eORETEq6++Gi+++GJceeWVyZNVrnfeeSeOHj064P+9xsbGWLhw4bg6n4/6lz58Wx988EH09vbGjBkzBqyfMWNGvPHGG0lTVba+vr5YvXp1LFq0KObNm5c9TkXZtm1bHDx4MPbt25c9SsV6++23Y9OmTbFmzZr43e9+F/v27YuVK1fGpEmTYtmyZdnjVYy1a9dGqVSKOXPmRG1tbfT29saGDRti6dKl2aNVrKNHj0ZEnPB8/sXPxoMxF2LK19bWFq+//nq8+OKL2aNUlI6Ojli1alXs2LEjJk+enD1Oxerr64vW1ta44447IiLiwgsvjNdffz0efPBBIf4fTzzxRDz66KOxdevWmDt3bhw6dChWr14dTU1NjhMnNeYemj7ttNOitrY2jh07NmD9sWPHYubMmUlTVa7rr78+nn766XjuueeG9esnq8GBAweis7MzLrroopg4cWJMnDgxdu3aFffee29MnDgxent7s0esCLNmzYpzzz13wLpzzjkn3n333aSJKtNvf/vbWLt2bfzyl7+M8847L37961/HjTfeGO3t7dmjVawvztnj/Xw+5kI8adKkuPjii2Pnzp396/r6+mLnzp1xySWXJE5WWYqiiOuvvz62b98e//jHP6KlpSV7pIpz2WWXxWuvvRaHDh3qX1pbW2Pp0qVx6NChqK2tzR6xIixatOgrb307cuRInHHGGUkTVaaPP/74K18AX1tbG319fUkTVb6WlpaYOXPmgPN5qVSKPXv2jKvz+Zh8aHrNmjWxbNmyaG1tjQULFsQ999wT3d3dsXz58uzRKkZbW1ts3bo1nnzyyWhoaOh/vqWxsTHq6+uTp6sMDQ0NX3nOfMqUKTFt2jTPpf+PG2+8MS699NK444474uc//3ns3bs3Nm/eHJs3b84eraJcffXVsWHDhpg9e3bMnTs3Xnnllbj77rtjxYoV2aOl+uijj+Ktt97qv/3OO+/EoUOH4tRTT43Zs2fH6tWr4/bbb4+zzz47WlpaYv369dHU1BTXXHNN3tCjLftl20N13333FbNnzy4mTZpULFiwoNi9e3f2SBUlIk64PPLII9mjVTRvXzqxv/3tb8W8efOKurq6Ys6cOcXmzZuzR6o4pVKpWLVqVTF79uxi8uTJxfe+973i97//fdHT05M9WqrnnnvuhOeiZcuWFUXx+VuY1q9fX8yYMaOoq6srLrvssuLw4cO5Q48yX4MIAInG3HPEAFBNhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBI9H8HGwbRq7FwAwAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Done\n",
      "Sample trajectory on learned policy in episode 6:\n"
     ]
    },
    {
     "data": {
      "image/png": "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A0AiIQaARN8qxHfeeWfU1NTEypUrh2kcABhbTjrEe/bsiYceeiguvPDC4ZwHAMaUkwrxxx9/HIsXL46HH344TjvttOGeCQDGjJMKcVtbWyxatCgWLlz4jdv29vZGqVQatAAAXxhf7g6PP/547Nu3L/bs2TOk7dvb2+PWW28tezAAGAvKOiPu7OyMFStWxKOPPhoTJ04c0j5r1qyJ7u7ugaWzs/OkBgWAalTWGfHevXujq6srLrnkkoF1fX198eKLL8b9998fvb29UVtbO2ifurq6qKurG55pAaDKlBXiK664It54441B65YuXRqzZs2KW2655ZgIAwAnVlaIGxoaYs6cOYPWTZo0KaZMmXLMegDgm/lkLQBIVParpv+/F154YRjGAICxyRkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkOhbf9Y0I6ijJnsCoBK4L6hqzogBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAInGZw/ACcwrsic4Rs/umuwRYOypwPuC6HBfMFycEQNAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIVHaI33///bjhhhtiypQpUV9fHxdccEG8+uqrIzEbAFS9sq5H/NFHH8WCBQviJz/5STz77LPx3e9+N95666047bTTRmo+AKhqZYV448aN0dzcHI888sjAupaWlmEfCgDGirIemn766aejtbU1rr/++pg6dWpcfPHF8fDDD59wn97e3iiVSoMWAOALZYX4nXfeiU2bNsW5554bf//73+M3v/lNLF++PLZs2fK1+7S3t0djY+PA0tzc/K2HBoBqUVMURTHUjSdMmBCtra3x8ssvD6xbvnx57NmzJ1555ZXj7tPb2xu9vb0DX5dKpWhubo76iKg5+bmHXc/u7AmOY96QfzWjp6OSfmswRrgvGJJJ87Mn+EoREf+NiO7u7pg8efIJty3rjHjGjBlx/vnnD1p33nnnxXvvvfe1+9TV1cXkyZMHLQDAF8oK8YIFC+LgwYOD1h06dCjOOuusYR0KAMaKskJ88803x65du+KOO+6It99+O7Zu3RqbN2+Otra2kZoPAKpaWSGeO3dubNu2LR577LGYM2dO3HbbbXHPPffE4sWLR2o+AKhqZb2POCLimmuuiWuuuWYkZgGAMcdnTQNAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJyv6saUZRBV542wXKh6gSj1Ml8rsbmko8TgwbZ8QAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgETjswfgFNNRkz3BqcFxOnX53THKnBEDQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASFRWiPv6+mLt2rXR0tIS9fX1cc4558Rtt90WRVGM1HwAUNXKuh7xxo0bY9OmTbFly5aYPXt2vPrqq7F06dJobGyM5cuXj9SMAFC1ygrxyy+/HD/96U9j0aJFERFx9tlnx2OPPRYdHR0jMhwAVLuyHpq+/PLLY8eOHXHo0KGIiHj99dfjpZdeiquvvvpr9+nt7Y1SqTRoAQC+UNYZ8erVq6NUKsWsWbOitrY2+vr6YsOGDbF48eKv3ae9vT1uvfXWbz0oAFSjss6In3zyyXj00Udj69atsW/fvtiyZUv88Y9/jC1btnztPmvWrInu7u6BpbOz81sPDQDVoqYo4yXPzc3NsXr16mhraxtYd/vtt8df/vKXePPNN4f0M0qlUjQ2NkZ9RNSUPe7I6dmdPQEA38ak+dkTfKWIiP9GRHd3d0yePPmE25Z1RvzJJ5/EuHGDd6mtrY3+/v5yZwQAoszniK+99trYsGFDzJw5M2bPnh2vvfZa3H333XHjjTeO1HwAUNXKemj66NGjsXbt2ti2bVt0dXVFU1NT/OpXv4p169bFhAkThvQzPDQNwEg4VR+aLivEw0GIARgJp2qIfdY0ACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkKisqy9Vs0r6jFIAxg5nxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0Ci8aN9g0VRfPHvaN8wAIySLxv3ZfNOZNRDfPTo0YiI+HS0bxgARtnRo0ejsbHxhNvUFEPJ9TDq7++PDz74IBoaGqKmpuakf06pVIrm5ubo7OyMyZMnD+OE1cVxGhrHaWgcp6FxnIammo9TURRx9OjRaGpqinHjTvws8KifEY8bNy7OPPPMYft5kydPrrpf4EhwnIbGcRoax2loHKehqdbj9E1nwl/yYi0ASCTEAJDolA1xXV1drF+/Purq6rJHqWiO09A4TkPjOA2N4zQ0jtMXRv3FWgDAV07ZM2IAqAZCDACJhBgAEgkxACQ6ZUP8wAMPxNlnnx0TJ06M+fPnR0dHR/ZIFaW9vT3mzp0bDQ0NMXXq1Ljuuuvi4MGD2WNVtDvvvDNqampi5cqV2aNUnPfffz9uuOGGmDJlStTX18cFF1wQr776avZYFaWvry/Wrl0bLS0tUV9fH+ecc07cdtttQ/qs4Wr24osvxrXXXhtNTU1RU1MTf/3rXwd9vyiKWLduXcyYMSPq6+tj4cKF8dZbb+UMm+SUDPETTzwRq1ativXr18e+ffvioosuiquuuiq6urqyR6sYO3fujLa2tti1a1ds3749Pv/887jyyiujp6cne7SKtGfPnnjooYfiwgsvzB6l4nz00UexYMGC+M53vhPPPvts/POf/4w//elPcdppp2WPVlE2btwYmzZtivvvvz/+9a9/xcaNG+Ouu+6K++67L3u0VD09PXHRRRfFAw88cNzv33XXXXHvvffGgw8+GLt3745JkybFVVddFZ9+OoauSFCcgubNm1e0tbUNfN3X11c0NTUV7e3tiVNVtq6uriIiip07d2aPUnGOHj1anHvuucX27duLH/3oR8WKFSuyR6oot9xyS/GDH/wge4yKt2jRouLGG28ctO5nP/tZsXjx4qSJKk9EFNu2bRv4ur+/v5g+fXrxhz/8YWDdf/7zn6Kurq547LHHEibMccqdEX/22Wexd+/eWLhw4cC6cePGxcKFC+OVV15JnKyydXd3R0TE6aefnjxJ5Wlra4tFixYN+pviK08//XS0trbG9ddfH1OnTo2LL744Hn744eyxKs7ll18eO3bsiEOHDkVExOuvvx4vvfRSXH311cmTVa533303Dh8+POj/XmNjY8yfP39M3Z+P+kUfvq0PP/ww+vr6Ytq0aYPWT5s2Ld58882kqSpbf39/rFy5MhYsWBBz5szJHqeiPP7447Fv377Ys2dP9igV65133olNmzbFqlWr4ne/+13s2bMnli9fHhMmTIglS5Zkj1cxVq9eHaVSKWbNmhW1tbXR19cXGzZsiMWLF2ePVrEOHz4cEXHc+/MvvzcWnHIhpnxtbW1x4MCBeOmll7JHqSidnZ2xYsWK2L59e0ycODF7nIrV398fra2tcccdd0RExMUXXxwHDhyIBx98UIj/x5NPPhmPPvpobN26NWbPnh379++PlStXRlNTk+PECZ1yD02fccYZUVtbG0eOHBm0/siRIzF9+vSkqSrXsmXL4plnnonnn39+WC8/WQ327t0bXV1dcckll8T48eNj/PjxsXPnzrj33ntj/Pjx0dfXlz1iRZgxY0acf/75g9add9558d577yVNVJl++9vfxurVq+OXv/xlXHDBBfHrX/86br755mhvb88erWJ9eZ891u/PT7kQT5gwIS699NLYsWPHwLr+/v7YsWNHXHbZZYmTVZaiKGLZsmWxbdu2+Mc//hEtLS3ZI1WcK664It54443Yv3//wNLa2hqLFy+O/fv3R21tbfaIFWHBggXHvPXt0KFDcdZZZyVNVJk++eSTYy4AX1tbG/39/UkTVb6WlpaYPn36oPvzUqkUu3fvHlP356fkQ9OrVq2KJUuWRGtra8ybNy/uueee6OnpiaVLl2aPVjHa2tpi69at8dRTT0VDQ8PA8y2NjY1RX1+fPF1laGhoOOY580mTJsWUKVM8l/4/br755rj88svjjjvuiJ///OfR0dERmzdvjs2bN2ePVlGuvfba2LBhQ8ycOTNmz54dr732Wtx9991x4403Zo+W6uOPP46333574Ot333039u/fH6effnrMnDkzVq5cGbfffnuce+650dLSEmvXro2mpqa47rrr8oYebdkv2z5Z9913XzFz5sxiwoQJxbx584pdu3Zlj1RRIuK4yyOPPJI9WkXz9qXj+9vf/lbMmTOnqKurK2bNmlVs3rw5e6SKUyqVihUrVhQzZ84sJk6cWHzve98rfv/73xe9vb3Zo6V6/vnnj3tftGTJkqIovngL09q1a4tp06YVdXV1xRVXXFEcPHgwd+hR5jKIAJDolHuOGACqiRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAif4P1+4G8vrJ4qAAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Done\n",
      "Sample trajectory on learned policy in episode 7:\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeIAAAGdCAYAAADOnXC3AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAVTElEQVR4nO3dbWhdhf3A8V+armkoadC6PgRTzUSoturUtEU79oBFkSqTgXugjtK+G9G2FobtRhXRGus2ER+o1heuMGv1TacTdJROK6J9tqJstoqCQWkzweXWOKMk5/9CjMvfWnNjkt/NzecDB7kn5+T+OKnny7mPNUVRFAEApJiQPQAAjGdCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAoomjfYd9fX3x/vvvR0NDQ9TU1Iz23QPAiCuKIo4fPx5NTU0xYcLJr3lHPcTvv/9+NDc3j/bdAsCo6+joiNNPP/2k24x6iBsaGiIiYnJEuB4GoBoVEfFJfNm8kxn1EH/xcHRNCDEA1W0wT8F6sRYAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQaEghfuCBB+LMM8+MyZMnx8KFC2Pv3r3DPRcAjAtlh/jxxx+PNWvWxC233BIHDx6MCy64IK644oro7OwcifkAoKrVFEVRlLPDwoULY/78+XH//fdHRERfX180NzfHDTfcEGvXrv3G/UulUjQ2NkZ9+PYlAKpTERH/jYiurq6YOnXqSbct64r4008/jQMHDsTixYu//AUTJsTixYvj5ZdfPuE+PT09USqVBiwAwOfKCvEHH3wQvb29MWPGjAHrZ8yYEUePHj3hPu3t7dHY2Ni/NDc3D31aAKgyI/6q6XXr1kVXV1f/0tHRMdJ3CQBjxsRyNj7ttNOitrY2jh07NmD9sWPHYubMmSfcp66uLurq6oY+IQBUsbKuiCdNmhQXX3xx7Ny5s39dX19f7Ny5My655JJhHw4Aql1ZV8QREWvWrIlly5ZFa2trLFiwIO65557o7u6O5cuXj8R8AFDVyg7xL37xi/j3v/8dN998cxw9ejS+//3vx7PPPvuVF3ABAN+s7PcRf1veRwxAtRux9xEDAMNLiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQKKyv/ShWnXvyZ6AqrJgVD/CfVCm1FTep7u/kz3ACUx3LhizpizMnmBoXBEDQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABJNzB4AGL+m78meAPK5IgaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQqKwQt7e3x/z586OhoSGmT58e11xzTRw+fHikZgOAqldWiHft2hVtbW2xe/fu2LFjR3z22Wdx+eWXR3d390jNBwBVbWI5Gz/77LMDbv/5z3+O6dOnx4EDB+KHP/zhsA4GAONBWSH+/7q6uiIi4tRTT/3abXp6eqKnp6f/dqlU+jZ3CQBVZcgv1urr64vVq1fHokWLYt68eV+7XXt7ezQ2NvYvzc3NQ71LAKg6Qw5xW1tbvP7667Ft27aTbrdu3bro6urqXzo6OoZ6lwBQdYb00PT1118fTz/9dLzwwgtx+umnn3Tburq6qKurG9JwAFDtygpxURRxww03xPbt2+P555+PlpaWkZoLAMaFskLc1tYWW7dujSeffDIaGhri6NGjERHR2NgY9fX1IzIgAFSzsp4j3rRpU3R1dcWPf/zjmDVrVv/y+OOPj9R8AFDVyn5oGgAYPj5rGgASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEg0pO8jZhxbUIGfN763JnsChqhzYfYEXzW9Ej9T37/xquaKGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQaGL2AJzEgiJ7gq+YUlOTPcIY4TgNRkv2ACdSgf/Gu4vKOxfE3so7TmOVK2IASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAib5ViO+8886oqamJ1atXD9M4ADC+DDnE+/bti4ceeijOP//84ZwHAMaVIYX4o48+iqVLl8bDDz8cp5xyynDPBADjxpBC3NbWFkuWLInFixd/47Y9PT1RKpUGLADA5yaWu8O2bdvi4MGDsW/fvkFt397eHrfeemvZgwHAeFDWFXFHR0esWrUqHn300Zg8efKg9lm3bl10dXX1Lx0dHUMaFACqUVlXxAcOHIjOzs646KKL+tf19vbGCy+8EPfff3/09PREbW3tgH3q6uqirq5ueKYFgCpTVogvu+yyeO211wasW758ecyZMyduuummr0QYADi5skLc0NAQ8+bNG7BuypQpMW3atK+sBwC+mU/WAoBEZb9q+v97/vnnh2EMABifXBEDQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAib71Z00zgvbWZE8AVALngqrmihgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkGhi9gCcxIIie4Kv6N5Tkz0CjD8VeC6Ivc4Fw8UVMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEZYf4vffei+uuuy6mTZsW9fX1cd5558X+/ftHYjYAqHplfR/xhx9+GIsWLYqf/OQn8cwzz8R3v/vdePPNN+OUU04ZqfkAoKqVFeKNGzdGc3NzPPLII/3rWlpahn0oABgvynpo+qmnnorW1ta49tprY/r06XHhhRfGww8/fNJ9enp6olQqDVgAgM+VFeK33347Nm3aFGeffXb8/e9/j9/85jexcuXK2LJly9fu097eHo2Njf1Lc3Pztx4aAKpFTVEUxWA3njRpUrS2tsZLL73Uv27lypWxb9++ePnll0+4T09PT/T09PTfLpVK0dzcHPURUTP0uYdd957sCU5gwaD/NKNnbyX91WCccC4YlCkLsyf4UhER/42Irq6umDp16km3LeuKeNasWXHuuecOWHfOOefEu++++7X71NXVxdSpUwcsAMDnygrxokWL4vDhwwPWHTlyJM4444xhHQoAxouyQnzjjTfG7t2744477oi33nortm7dGps3b462traRmg8AqlpZIZ4/f35s3749HnvssZg3b17cdtttcc8998TSpUtHaj4AqGplvY84IuKqq66Kq666aiRmAYBxx2dNA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAInK/qxpRlEFfvG2LygfpEo8TpXI325wKvE4MWxcEQNAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEk3MHoAxZm9N9gRjg+M0dvnbMcpcEQNAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIVFaIe3t7Y/369dHS0hL19fVx1llnxW233RZFUYzUfABQ1cr6PuKNGzfGpk2bYsuWLTF37tzYv39/LF++PBobG2PlypUjNSMAVK2yQvzSSy/FT3/601iyZElERJx55pnx2GOPxd69e0dkOACodmU9NH3ppZfGzp0748iRIxER8eqrr8aLL74YV1555dfu09PTE6VSacACAHyurCvitWvXRqlUijlz5kRtbW309vbGhg0bYunSpV+7T3t7e9x6663felAAqEZlXRE/8cQT8eijj8bWrVvj4MGDsWXLlvjjH/8YW7Zs+dp91q1bF11dXf1LR0fHtx4aAKpFTVHGS56bm5tj7dq10dbW1r/u9ttvj7/85S/xxhtvDOp3lEqlaGxsjPqIqCl73JHTvSd7AgC+jSkLsyf4UhER/42Irq6umDp16km3LeuK+OOPP44JEwbuUltbG319feXOCABEmc8RX3311bFhw4aYPXt2zJ07N1555ZW4++67Y8WKFSM1HwBUtbIemj5+/HisX78+tm/fHp2dndHU1BS/+tWv4uabb45JkyYN6nd4aBqAkTBWH5ouK8TDQYgBGAljNcQ+axoAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIVNa3L1WzSvqMUgDGD1fEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQKKJo32HRVF8/t/RvmMAGCVfNO6L5p3MqIf4+PHjERHxyWjfMQCMsuPHj0djY+NJt6kpBpPrYdTX1xfvv/9+NDQ0RE1NzZB/T6lUiubm5ujo6IipU6cO44TVxXEaHMdpcBynwXGcBqeaj1NRFHH8+PFoamqKCRNO/izwqF8RT5gwIU4//fRh+31Tp06tuj/gSHCcBsdxGhzHaXAcp8Gp1uP0TVfCX/BiLQBIJMQAkGjMhriuri5uueWWqKuryx6lojlOg+M4DY7jNDiO0+A4Tp8b9RdrAQBfGrNXxABQDYQYABIJMQAkEmIASDRmQ/zAAw/EmWeeGZMnT46FCxfG3r17s0eqKO3t7TF//vxoaGiI6dOnxzXXXBOHDx/OHqui3XnnnVFTUxOrV6/OHqXivPfee3HdddfFtGnTor6+Ps4777zYv39/9lgVpbe3N9avXx8tLS1RX18fZ511Vtx2222D+qzhavbCCy/E1VdfHU1NTVFTUxN//etfB/y8KIq4+eabY9asWVFfXx+LFy+ON998M2fYJGMyxI8//nisWbMmbrnlljh48GBccMEFccUVV0RnZ2f2aBVj165d0dbWFrt3744dO3bEZ599Fpdffnl0d3dnj1aR9u3bFw899FCcf/752aNUnA8//DAWLVoU3/nOd+KZZ56Jf/7zn/GnP/0pTjnllOzRKsrGjRtj06ZNcf/998e//vWv2LhxY9x1111x3333ZY+Wqru7Oy644IJ44IEHTvjzu+66K+6999548MEHY8+ePTFlypS44oor4pNPxtE3EhRj0IIFC4q2trb+2729vUVTU1PR3t6eOFVl6+zsLCKi2LVrV/YoFef48ePF2WefXezYsaP40Y9+VKxatSp7pIpy0003FT/4wQ+yx6h4S5YsKVasWDFg3c9+9rNi6dKlSRNVnogotm/f3n+7r6+vmDlzZvGHP/yhf91//vOfoq6urnjssccSJswx5q6IP/300zhw4EAsXry4f92ECRNi8eLF8fLLLydOVtm6uroiIuLUU09NnqTytLW1xZIlSwb8m+JLTz31VLS2tsa1114b06dPjwsvvDAefvjh7LEqzqWXXho7d+6MI0eORETEq6++Gi+++GJceeWVyZNVrnfeeSeOHj064P+9xsbGWLhw4bg6n4/6lz58Wx988EH09vbGjBkzBqyfMWNGvPHGG0lTVba+vr5YvXp1LFq0KObNm5c9TkXZtm1bHDx4MPbt25c9SsV6++23Y9OmTbFmzZr43e9+F/v27YuVK1fGpEmTYtmyZdnjVYy1a9dGqVSKOXPmRG1tbfT29saGDRti6dKl2aNVrKNHj0ZEnPB8/sXPxoMxF2LK19bWFq+//nq8+OKL2aNUlI6Ojli1alXs2LEjJk+enD1Oxerr64vW1ta44447IiLiwgsvjNdffz0efPBBIf4fTzzxRDz66KOxdevWmDt3bhw6dChWr14dTU1NjhMnNeYemj7ttNOitrY2jh07NmD9sWPHYubMmUlTVa7rr78+nn766XjuueeG9esnq8GBAweis7MzLrroopg4cWJMnDgxdu3aFffee29MnDgxent7s0esCLNmzYpzzz13wLpzzjkn3n333aSJKtNvf/vbWLt2bfzyl7+M8847L37961/HjTfeGO3t7dmjVawvztnj/Xw+5kI8adKkuPjii2Pnzp396/r6+mLnzp1xySWXJE5WWYqiiOuvvz62b98e//jHP6KlpSV7pIpz2WWXxWuvvRaHDh3qX1pbW2Pp0qVx6NChqK2tzR6xIixatOgrb307cuRInHHGGUkTVaaPP/74K18AX1tbG319fUkTVb6WlpaYOXPmgPN5qVSKPXv2jKvz+Zh8aHrNmjWxbNmyaG1tjQULFsQ999wT3d3dsXz58uzRKkZbW1ts3bo1nnzyyWhoaOh/vqWxsTHq6+uTp6sMDQ0NX3nOfMqUKTFt2jTPpf+PG2+8MS699NK444474uc//3ns3bs3Nm/eHJs3b84eraJcffXVsWHDhpg9e3bMnTs3Xnnllbj77rtjxYoV2aOl+uijj+Ktt97qv/3OO+/EoUOH4tRTT43Zs2fH6tWr4/bbb4+zzz47WlpaYv369dHU1BTXXHNN3tCjLftl20N13333FbNnzy4mTZpULFiwoNi9e3f2SBUlIk64PPLII9mjVTRvXzqxv/3tb8W8efOKurq6Ys6cOcXmzZuzR6o4pVKpWLVqVTF79uxi8uTJxfe+973i97//fdHT05M9WqrnnnvuhOeiZcuWFUXx+VuY1q9fX8yYMaOoq6srLrvssuLw4cO5Q48yX4MIAInG3HPEAFBNhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBI9H8HGwbRq7FwAwAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Done\n",
      "Sample trajectory on learned policy in episode 8:\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeIAAAGdCAYAAADOnXC3AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAVQUlEQVR4nO3dbWxVhf3A8V8pozSkNIrjobFoZ0xQUKcWiLLsIRKNQTOzxD0EF4LvliogySJsQWMUK24zRCEovnAkE9E3TGeiC2GKMcqDIEazCRpNbDTATFwv1llNe/4vjHX9i9hb2v5ubz+f5MTc03N6fznF8825jzVFURQBAKQYlz0AAIxlQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQKLxI32Hvb298cEHH0RDQ0PU1NSM9N0DwLAriiKOHz8eTU1NMW7cya95RzzEH3zwQTQ3N4/03QLAiOvo6IgzzzzzpNuMeIgbGhoiImJiRLgeBqAaFRHxaXzVvJMZ8RB/+XB0TQgxANVtIE/BerEWACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkGhQId64cWOcffbZMXHixJg/f37s3bt3qOcCgDGh7BA//vjjsXLlyrj99tvjwIEDcdFFF8VVV10Vx44dG475AKCq1RRFUZSzw/z582Pu3LmxYcOGiIjo7e2N5ubmuPnmm2PVqlXfun+pVIrGxsaoD9++BEB1KiLivxHR2dkZkydPPum2ZV0Rf/bZZ7F///5YuHDhV79g3LhYuHBhvPzyyyfcp7u7O0qlUr8FAPhCWSH+8MMPo6enJ6ZNm9Zv/bRp0+LIkSMn3Ke9vT0aGxv7lubm5sFPCwBVZthfNb169ero7OzsWzo6Oob7LgFg1BhfzsZnnHFG1NbWxtGjR/utP3r0aEyfPv2E+9TV1UVdXd3gJwSAKlbWFfGECRPi0ksvjZ07d/at6+3tjZ07d8Zll1025MMBQLUr64o4ImLlypWxZMmSaG1tjXnz5sX69eujq6srli5dOhzzAUBVKzvEv/jFL+Lf//533HbbbXHkyJH4/ve/H88+++zXXsAFAHy7st9HfKq8jxiAajds7yMGAIaWEANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERlf+lDterakz0BVWXeiH6E+4BMqqm8T3d/N3uAE5jqXDBqTZqfPcHguCIGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEpUV4vb29pg7d240NDTE1KlT47rrrotDhw4N12wAUPXKCvGuXbuira0tdu/eHTt27IjPP/88rrzyyujq6hqu+QCgqo0vZ+Nnn3223+0///nPMXXq1Ni/f3/88Ic/HNLBAGAsKCvE/19nZ2dERJx++unfuE13d3d0d3f33S6VSqdylwBQVQb9Yq3e3t5YsWJFLFiwIObMmfON27W3t0djY2Pf0tzcPNi7BICqM+gQt7W1xRtvvBHbtm076XarV6+Ozs7OvqWjo2OwdwkAVWdQD03fdNNN8fTTT8cLL7wQZ5555km3rauri7q6ukENBwDVrqwQF0URN998c2zfvj2ef/75aGlpGa65AGBMKCvEbW1tsXXr1njyySejoaEhjhw5EhERjY2NUV9fPywDAkA1K+s54k2bNkVnZ2f8+Mc/jhkzZvQtjz/++HDNBwBVreyHpgGAoeOzpgEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEg/o+YsaweRX4eeN7a7InYJCm7sme4AT8G2eEuSIGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQanz0AJzGvyJ7gaybV1GSPMEo4TgMxaX72BCdSeX+7rqLyzgWxt/KO02jlihgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAolMK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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Done\n",
      "Sample trajectory on learned policy in episode 9:\n"
     ]
    },
    {
     "data": {
      "image/png": "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QCIhBoBEQgwAib5ViO+8886oqamJ1atXD9M4ADC+DDnE+/bti4ceeijOP//84ZwHAMaVIYX4o48+iqVLl8bDDz8cp5xyynDPBADjxpBC3NbWFkuWLInFixd/47Y9PT1RKpUGLADA5yaWu8O2bdvi4MGDsW/fvkFt397eHrfeemvZgwHAeFDWFXFHR0esWrUqHn300Zg8efKg9lm3bl10dXX1Lx0dHUMaFACqUVlXxAcOHIjOzs646KKL+tf19vbGCy+8EPfff3/09PREbW3tgH3q6uqirq5ueKYFgCpTVogvu+yyeO211wasW758ecyZMyduuummr0QYADi5skLc0NAQ8+bNG7BuypQpMW3atK+sBwC+mU/WAoBEZb9q+v97/vnnh2EMABifXBEDQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAib71Z00zgvbWZE8AVALngqrmihgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkGhi9gCcxIIie4Kv6N5Tkz0CjD8VeC6Ivc4Fw8UVMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEZYf4vffei+uuuy6mTZsW9fX1cd5558X+/ftHYjYAqHplfR/xhx9+GIsWLYqf/OQn8cwzz8R3v/vdePPNN+OUU04ZqfkAoKqVFeKNGzdGc3NzPPLII/3rWlpahn0oABgvynpo+qmnnorW1ta49tprY/r06XHhhRfGww8/fNJ9enp6olQqDVgAgM+VFeK33347Nm3aFGeffXb8/e9/j9/85jexcuXK2LJly9fu097eHo2Njf1Lc3Pztx4aAKpFTVEUxWA3njRpUrS2tsZLL73Uv27lypWxb9++ePnll0+4T09PT/T09PTfLpVK0dzcHPURUTP0uYdd957sCU5gwaD/NKNnbyX91WCccC4YlCkLsyf4UhER/42Irq6umDp16km3LeuKeNasWXHuuecOWHfOOefEu++++7X71NXVxdSpUwcsAMDnygrxokWL4vDhwwPWHTlyJM4444xhHQoAxouyQnzjjTfG7t2744477oi33nortm7dGps3b462traRmg8AqlpZIZ4/f35s3749HnvssZg3b17cdtttcc8998TSpUtHaj4AqGplvY84IuKqq66Kq666aiRmAYBxx2dNA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAInK/qxpRlEFfvG2LygfpEo8TpXI325wKvE4MWxcEQNAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEk3MHoAxZm9N9gRjg+M0dvnbMcpcEQNAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIVFaIe3t7Y/369dHS0hL19fVx1llnxW233RZFUYzUfABQ1cr6PuKNGzfGpk2bYsuWLTF37tzYv39/LF++PBobG2PlypUjNSMAVK2yQvzSSy/FT3/601iyZElERJx55pnx2GOPxd69e0dkOACodmU9NH3ppZfGzp0748iRIxER8eqrr8aLL74YV1555dfu09PTE6VSacACAHyurCvitWvXRqlUijlz5kRtbW309vbGhg0bYunSpV+7T3t7e9x6663felAAqEZlXRE/8cQT8eijj8bWrVvj4MGDsWXLlvjjH/8YW7Zs+dp91q1bF11dXf1LR0fHtx4aAKpFTVHGS56bm5tj7dq10dbW1r/u9ttvj7/85S/xxhtvDOp3lEqlaGxsjPqIqCl73JHTvSd7AgC+jSkLsyf4UhER/42Irq6umDp16km3LeuK+OOPP44JEwbuUltbG319feXOCABEmc8RX3311bFhw4aYPXt2zJ07N1555ZW4++67Y8WKFSM1HwBUtbIemj5+/HisX78+tm/fHp2dndHU1BS/+tWv4uabb45JkyYN6nd4aBqAkTBWH5ouK8TDQYgBGAljNcQ+axoAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIVNa3L1WzSvqMUgDGD1fEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQKKJo32HRVF8/t/RvmMAGCVfNO6L5p3MqIf4+PHjERHxyWjfMQCMsuPHj0djY+NJt6kpBpPrYdTX1xfvv/9+NDQ0RE1NzZB/T6lUiubm5ujo6IipU6cO44TVxXEaHMdpcBynwXGcBqeaj1NRFHH8+PFoamqKCRNO/izwqF8RT5gwIU4//fRh+31Tp06tuj/gSHCcBsdxGhzHaXAcp8Gp1uP0TVfCX/BiLQBIJMQAkGjMhriuri5uueWWqKuryx6lojlOg+M4DY7jNDiO0+A4Tp8b9RdrAQBfGrNXxABQDYQYABIJMQAkEmIASDRmQ/zAAw/EmWeeGZMnT46FCxfG3r17s0eqKO3t7TF//vxoaGiI6dOnxzXXXBOHDx/OHqui3XnnnVFTUxOrV6/OHqXivPfee3HdddfFtGnTor6+Ps4777zYv39/9lgVpbe3N9avXx8tLS1RX18fZ511Vtx2222D+qzhavbCCy/E1VdfHU1NTVFTUxN//etfB/y8KIq4+eabY9asWVFfXx+LFy+ON998M2fYJGMyxI8//nisWbMmbrnlljh48GBccMEFccUVV0RnZ2f2aBVj165d0dbWFrt3744dO3bEZ599Fpdffnl0d3dnj1aR9u3bFw899FCcf/752aNUnA8//DAWLVoU3/nOd+KZZ56Jf/7zn/GnP/0pTjnllOzRKsrGjRtj06ZNcf/998e//vWv2LhxY9x1111x3333ZY+Wqru7Oy644IJ44IEHTvjzu+66K+6999548MEHY8+ePTFlypS44oor4pNPxtE3EhRj0IIFC4q2trb+2729vUVTU1PR3t6eOFVl6+zsLCKi2LVrV/YoFef48ePF2WefXezYsaP40Y9+VKxatSp7pIpy0003FT/4wQ+yx6h4S5YsKVasWDFg3c9+9rNi6dKlSRNVnogotm/f3n+7r6+vmDlzZvGHP/yhf91//vOfoq6urnjssccSJswx5q6IP/300zhw4EAsXry4f92ECRNi8eLF8fLLLydOVtm6uroiIuLUU09NnqTytLW1xZIlSwb8m+JLTz31VLS2tsa1114b06dPjwsvvDAefvjh7LEqzqWXXho7d+6MI0eORETEq6++Gi+++GJceeWVyZNVrnfeeSeOHj064P+9xsbGWLhw4bg6n4/6lz58Wx988EH09vbGjBkzBqyfMWNGvPHGG0lTVba+vr5YvXp1LFq0KObNm5c9TkXZtm1bHDx4MPbt25c9SsV6++23Y9OmTbFmzZr43e9+F/v27YuVK1fGpEmTYtmyZdnjVYy1a9dGqVSKOXPmRG1tbfT29saGDRti6dKl2aNVrKNHj0ZEnPB8/sXPxoMxF2LK19bWFq+//nq8+OKL2aNUlI6Ojli1alXs2LEjJk+enD1Oxerr64vW1ta44447IiLiwgsvjNdffz0efPBBIf4fTzzxRDz66KOxdevWmDt3bhw6dChWr14dTU1NjhMnNeYemj7ttNOitrY2jh07NmD9sWPHYubMmUlTVa7rr78+nn766XjuueeG9esnq8GBAweis7MzLrroopg4cWJMnDgxdu3aFffee29MnDgxent7s0esCLNmzYpzzz13wLpzzjkn3n333aSJKtNvf/vbWLt2bfzyl7+M8847L37961/HjTfeGO3t7dmjVawvztnj/Xw+5kI8adKkuPjii2Pnzp396/r6+mLnzp1xySWXJE5WWYqiiOuvvz62b98e//jHP6KlpSV7pIpz2WWXxWuvvRaHDh3qX1pbW2Pp0qVx6NChqK2tzR6xIixatOgrb307cuRInHHGGUkTVaaPP/74K18AX1tbG319fUkTVb6WlpaYOXPmgPN5qVSKPXv2jKvz+Zh8aHrNmjWxbNmyaG1tjQULFsQ999wT3d3dsXz58uzRKkZbW1ts3bo1nnzyyWhoaOh/vqWxsTHq6+uTp6sMDQ0NX3nOfMqUKTFt2jTPpf+PG2+8MS699NK444474uc//3ns3bs3Nm/eHJs3b84eraJcffXVsWHDhpg9e3bMnTs3Xnnllbj77rtjxYoV2aOl+uijj+Ktt97qv/3OO+/EoUOH4tRTT43Zs2fH6tWr4/bbb4+zzz47WlpaYv369dHU1BTXXHNN3tCjLftl20N13333FbNnzy4mTZpULFiwoNi9e3f2SBUlIk64PPLII9mjVTRvXzqxv/3tb8W8efOKurq6Ys6cOcXmzZuzR6o4pVKpWLVqVTF79uxi8uTJxfe+973i97//fdHT05M9WqrnnnvuhOeiZcuWFUXx+VuY1q9fX8yYMaOoq6srLrvssuLw4cO5Q48yX4MIAInG3HPEAFBNhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBI9H8HGwbRq7FwAwAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# show episodes\n",
    "# Uses last calulated Q-values to evaluate the policy\n",
    "evaluate_policy(policies_Q[-1], 10)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "nbgrader": {
     "grade": true,
     "grade_id": "cell-caf321513ac011ca",
     "locked": false,
     "points": 0,
     "schema_version": 3,
     "solution": true,
     "task": false
    }
   },
   "source": [
    "## 4) Solution\n",
    "\n",
    "Double Q-Learning is especially useful if the environment itself is random e.g. in the form of stochastic rewards. But it uses more memory without special upsides in deterministic scenarios."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "def learn(action_values1, action_values2, state, action, next_state, reward, gamma, alpha):\n",
    "    \"\"\"Learn from the collected data with a double q-learning update step.\n",
    "\n",
    "    Args:\n",
    "        action_values1: Set 1 of action value estimates before the update\n",
    "        action_values2: Set 2 of action value estimates before the update\n",
    "        state: The state before the interaction\n",
    "        action: The chosen action\n",
    "        next_state: The next state after the interaction\n",
    "        reward: The reward for the interaction\n",
    "        gamma: Discount factor\n",
    "        alpha: Step size\n",
    "\n",
    "    Returns:\n",
    "        action_values1: Set 1 of updated action value estimates\n",
    "        action_values2: Set 2 of updated action value estimates\n",
    "    \"\"\"\n",
    "    ### BEGIN SOLUTION\n",
    "\n",
    "    state_action = track.state_action(state, action)\n",
    "    \n",
    "    if np.random.rand() > 0.5:\n",
    "        q2_argmax_q1 = np.ravel(action_values2[next_state])[np.argmax(action_values1[next_state])]\n",
    "        action_values1[state_action] += alpha * (reward + gamma*q2_argmax_q1 - action_values1[state_action])\n",
    "    else:\n",
    "        q1_argmax_q2 = np.ravel(action_values1[next_state])[np.argmax(action_values2[next_state])]\n",
    "        action_values2[state_action] += alpha * (reward + gamma*q1_argmax_q2 - action_values2[state_action]) \n",
    "\n",
    "    ### END SOLUTION\n",
    "    return action_values1, action_values2\n",
    "\n",
    "\n",
    "def double_q_learning(epsilon, gamma, alpha, episodes, track):\n",
    "    \"\"\"\n",
    "    Defines the double Q-learning function which performs 𝜀-greedy control on the given track.\n",
    "\n",
    "    Args:\n",
    "        epsilon: Exploration probability\n",
    "        gamma: Discount factor\n",
    "        alpha: Forgetting factor\n",
    "        episodes: Number of evaluated episodes\n",
    "        track: Race track to learn\n",
    "    \n",
    "    Returns:\n",
    "        cumulated_rewards: The accumulated rewards per episode \n",
    "        action_values: The action_value estimate\n",
    "    \"\"\"\n",
    "    \n",
    "    # define track\n",
    "    course = track.course\n",
    "    x_size, y_size = len(course[0]), len(course)\n",
    "    \n",
    "    # Initialise action values \n",
    "    action_values1 = np.zeros([track.bounds[0], track.bounds[1], 1+2*track.MAX_VELOCITY, 1+2*track.MAX_VELOCITY, 3, 3])\n",
    "    action_values2 = np.zeros([track.bounds[0], track.bounds[1], 1+2*track.MAX_VELOCITY, 1+2*track.MAX_VELOCITY, 3, 3])\n",
    "    \n",
    "    cumulated_rewards = []\n",
    "    \n",
    "    ### BEGIN SOLUTION\n",
    "    \n",
    "    for e in tqdm(range(episodes), desc='episode'): \n",
    "        cumulated_reward = 0\n",
    "\n",
    "        pos_map = np.zeros((y_size, x_size))\n",
    "        state = track.reset()     \n",
    "        \n",
    "        # episodes do not terminate by time limit\n",
    "        while True:\n",
    "            pos_map[state[0], state[1]] += 1  # exploration map\n",
    "\n",
    "            next_state, reward, terminated, truncated, action = interact(\n",
    "                action_values=action_values1+action_values2,\n",
    "                state=state,\n",
    "                epsilon=epsilon\n",
    "            )\n",
    "\n",
    "            if truncated:\n",
    "                next_state = track.reset()\n",
    "\n",
    "            action_values1, action_values2 = learn(\n",
    "                action_values1, action_values2, state, action, next_state, reward, gamma, alpha\n",
    "            )\n",
    "\n",
    "            state = next_state\n",
    "            \n",
    "            cumulated_reward += reward\n",
    "            if terminated:\n",
    "                break\n",
    "\n",
    "        cumulated_rewards.append(cumulated_reward)      \n",
    "        \n",
    "    ### END SOLUTION\n",
    "    \n",
    "    return cumulated_rewards, action_values1+action_values2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "nbgrader": {
     "grade": false,
     "grade_id": "cell-b951254ccc0a37e1",
     "locked": false,
     "schema_version": 3,
     "solution": true,
     "task": false
    }
   },
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "9484b94dd00240e9bc5e57af6c0a6859",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Experiment:   0%|          | 0/4 [00:00<?, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "e693523b5f884ce0b4a0ec3221b6f3d3",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "episode:   0%|          | 0/1000 [00:00<?, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "40c6ae9e058b48949e8663791450537b",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "episode:   0%|          | 0/1000 [00:00<?, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "23efc3a31adf4905a012a2ec48a458df",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "episode:   0%|          | 0/1000 [00:00<?, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "49f94835b7af4ca2983957c3ef567600",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "episode:   0%|          | 0/1000 [00:00<?, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "reward_trajectories_double_Q = []\n",
    "policies_double_Q = []\n",
    "\n",
    "# Runs training repetitions-times\n",
    "for _ in tqdm(range(repetitions), desc='Experiment'):\n",
    "    \n",
    "    # Execute double q-learning\n",
    "    cumulated_rewards, action_values = double_q_learning(epsilon, gamma, alpha, episodes, track)\n",
    "    \n",
    "    # store reward and policy\n",
    "    reward_trajectories_double_Q.append(cumulated_rewards)\n",
    "    policies_double_Q.append(action_values)\n",
    "    \n",
    "plt.plot(np.vstack(reward_trajectories_Q).mean(axis=0), label='Q Learning')\n",
    "plt.plot(np.vstack(reward_trajectories_double_Q).mean(axis=0), label='Double Q')\n",
    "plt.title('Q Learning vs Double Q Learning')\n",
    "plt.xlabel('Episode')\n",
    "plt.ylabel('Mean Cumulated Reward')\n",
    "plt.ylim(-400, 0) \n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "nbgrader": {
     "grade": false,
     "grade_id": "cell-72de103bca16326f",
     "locked": true,
     "schema_version": 3,
     "solution": false,
     "task": false
    }
   },
   "source": [
    "Show again the best $5$ episodes using the function defined in 2)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "nbgrader": {
     "grade": false,
     "grade_id": "cell-88f7c2dff8695f42",
     "locked": true,
     "schema_version": 3,
     "solution": false,
     "task": false
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Done\n",
      "Sample trajectory on learned policy in episode 0:\n"
     ]
    },
    {
     "data": {
      "image/png": "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GAASCTEAJBJiAEgkxACQSIgBING3CvFdd90VNTU1sWrVqlM0DgCMLkMO8b59++Lhhx+OCy+88FTOAwCjypBC/PHHH8eSJUvikUceiTPOOONUzwQAo8aQQtzW1haLFi2KhQsXfuO2PT09USqVBiwAwBfGlrvDE088EQcOHIh9+/YNavv29va47bbbyh4MAEaDss6IOzo6YuXKlfHYY4/F+PHjB7XP2rVro6urq3/p6OgY0qAAUI3KOiPev39/dHZ2xiWXXNK/rre3N3bu3BkPPPBA9PT0RG1t7YB96urqoq6u7tRMCwBVpqwQX3HFFfH6668PWLds2bKYOXNm3HzzzcdFGAA4ubJC3NDQELNnzx6wbsKECTFp0qTj1gMA38w3awFAorLfNf3/vfjii6dgDAAYnZwRA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAIm+9XdNAzDM5hXZExxvb032BFXDGTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBINHY7AE4ib012RMcp7soskc4XgUeJ4DBckYMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIFHZIX7//ffj+uuvj0mTJkV9fX3MmTMnXnnlleGYDQCqXlnXI/7oo49iwYIF8ZOf/CSee+65+O53vxtvvfVWnHHGGcM1HwBUtbJCvGHDhmhubo5HH320f11LS8spHwoARouynpp+5plnorW1Na677rqYPHlyXHzxxfHII4+cdJ+enp4olUoDFgDgC2WF+J133omNGzfGjBkz4u9//3v85je/iRUrVsTmzZu/dp/29vZobGzsX5qbm7/10ABQLWqKoigGu/G4ceOitbU1Xnrppf51K1asiH379sXLL798wn16enqip6en/3apVIrm5uaoj4iaoc99ynXvyZ7gNDFv0H8uI2dvJf0lwTDw725QJszPnuArRUT8NyK6urpi4sSJJ922rDPiadOmxQUXXDBg3fnnnx/vvffe1+5TV1cXEydOHLAAAF8oK8QLFiyIQ4cODVh3+PDhOOecc07pUAAwWpQV4ptuuil2794dd955Z7z99tuxZcuW2LRpU7S1tQ3XfABQ1coK8dy5c2Pr1q3x+OOPx+zZs+P222+Pe++9N5YsWTJc8wFAVSvrc8QREddcc01cc801wzELAIw6vmsaABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASFT2d00zylXgxcArkgu5D04lHicYYc6IASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJxmYPAFVpb032BKcHxwmcEQNAJiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIVFaIe3t7Y926ddHS0hL19fVx3nnnxe233x5FUQzXfABQ1cq6HvGGDRti48aNsXnz5pg1a1a88sorsWzZsmhsbIwVK1YM14wAULXKCvFLL70UP/3pT2PRokUREXHuuefG448/Hnv37h2W4QCg2pX11PTll18e27dvj8OHD0dExGuvvRa7du2Kq6+++mv36enpiVKpNGABAL5Q1hnxmjVrolQqxcyZM6O2tjZ6e3tj/fr1sWTJkq/dp729PW677bZvPSgAVKOyzoifeuqpeOyxx2LLli1x4MCB2Lx5c/zxj3+MzZs3f+0+a9euja6urv6lo6PjWw8NANWipijjLc/Nzc2xZs2aaGtr6193xx13xF/+8pd48803B/U7SqVSNDY2Rn1E1JQ97vDp3pM9AQDfxoT52RN8pYiI/0ZEV1dXTJw48aTblnVG/Mknn8SYMQN3qa2tjb6+vnJnBACizNeIr7322li/fn1Mnz49Zs2aFa+++mrcc889sXz58uGaDwCqWllPTR87dizWrVsXW7dujc7Ozmhqaopf/epXccstt8S4ceMG9Ts8NQ3AcDhdn5ouK8SnghADMBxO1xD7rmkASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgUVlXX6pmlfQdpQCMHs6IASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERjR/oOi6L44r8jfccAMEK+bNyXzTuZEQ/xsWPHIiLi05G+YwAYYceOHYvGxsaTblNTDCbXp1BfX1988MEH0dDQEDU1NUP+PaVSKZqbm6OjoyMmTpx4CiesLo7T4DhOg+M4DY7jNDjVfJyKoohjx45FU1NTjBlz8leBR/yMeMyYMXH22Wefst83ceLEqvsfOBwcp8FxnAbHcRocx2lwqvU4fdOZ8Je8WQsAEgkxACQ6bUNcV1cXt956a9TV1WWPUtEcp8FxnAbHcRocx2lwHKcvjPibtQCAr5y2Z8QAUA2EGAASCTEAJBJiAEh02ob4wQcfjHPPPTfGjx8f8+fPj71792aPVFHa29tj7ty50dDQEJMnT47FixfHoUOHsseqaHfddVfU1NTEqlWrskepOO+//35cf/31MWnSpKivr485c+bEK6+8kj1WRent7Y1169ZFS0tL1NfXx3nnnRe33377oL5ruJrt3Lkzrr322mhqaoqampr461//OuDnRVHELbfcEtOmTYv6+vpYuHBhvPXWWznDJjktQ/zkk0/G6tWr49Zbb40DBw7ERRddFFdddVV0dnZmj1YxduzYEW1tbbF79+7Ytm1bfP7553HllVdGd3d39mgVad++ffHwww/HhRdemD1Kxfnoo49iwYIF8Z3vfCeee+65+Oc//xl/+tOf4owzzsgeraJs2LAhNm7cGA888ED861//ig0bNsTdd98d999/f/Zoqbq7u+Oiiy6KBx988IQ/v/vuu+O+++6Lhx56KPbs2RMTJkyIq666Kj79dBRdkaA4Dc2bN69oa2vrv93b21s0NTUV7e3tiVNVts7OziIiih07dmSPUnGOHTtWzJgxo9i2bVvxox/9qFi5cmX2SBXl5ptvLn7wgx9kj1HxFi1aVCxfvnzAup/97GfFkiVLkiaqPBFRbN26tf92X19fMXXq1OIPf/hD/7r//Oc/RV1dXfH4448nTJjjtDsj/uyzz2L//v2xcOHC/nVjxoyJhQsXxssvv5w4WWXr6uqKiIgzzzwzeZLK09bWFosWLRrwN8VXnnnmmWhtbY3rrrsuJk+eHBdffHE88sgj2WNVnMsvvzy2b98ehw8fjoiI1157LXbt2hVXX3118mSV6913340jR44M+LfX2NgY8+fPH1WP5yN+0Ydv68MPP4ze3t6YMmXKgPVTpkyJN998M2mqytbX1xerVq2KBQsWxOzZs7PHqShPPPFEHDhwIPbt25c9SsV65513YuPGjbF69er43e9+F/v27YsVK1bEuHHjYunSpdnjVYw1a9ZEqVSKmTNnRm1tbfT29sb69etjyZIl2aNVrCNHjkREnPDx/MufjQanXYgpX1tbW7zxxhuxa9eu7FEqSkdHR6xcuTK2bdsW48ePzx6nYvX19UVra2vceeedERFx8cUXxxtvvBEPPfSQEP+Pp556Kh577LHYsmVLzJo1Kw4ePBirVq2KpqYmx4mTOu2emj7rrLOitrY2jh49OmD90aNHY+rUqUlTVa4bbrghnn322XjhhRdO6eUnq8H+/fujs7MzLrnkkhg7dmyMHTs2duzYEffdd1+MHTs2ent7s0esCNOmTYsLLrhgwLrzzz8/3nvvvaSJKtNvf/vbWLNmTfzyl7+MOXPmxK9//eu46aabor29PXu0ivXlY/Zofzw/7UI8bty4uPTSS2P79u396/r6+mL79u1x2WWXJU5WWYqiiBtuuCG2bt0a//jHP6KlpSV7pIpzxRVXxOuvvx4HDx7sX1pbW2PJkiVx8ODBqK2tzR6xIixYsOC4j74dPnw4zjnnnKSJKtMnn3xy3AXga2tro6+vL2miytfS0hJTp04d8HheKpViz549o+rx/LR8anr16tWxdOnSaG1tjXnz5sW9994b3d3dsWzZsuzRKkZbW1ts2bIlnn766WhoaOh/vaWxsTHq6+uTp6sMDQ0Nx71mPmHChJg0aZLX0v/HTTfdFJdffnnceeed8fOf/zz27t0bmzZtik2bNmWPVlGuvfbaWL9+fUyfPj1mzZoVr776atxzzz2xfPny7NFSffzxx/H222/333733Xfj4MGDceaZZ8b06dNj1apVcccdd8SMGTOipaUl1q1bF01NTbF48eK8oUda9tu2h+r+++8vpk+fXowbN66YN29esXv37uyRKkpEnHB59NFHs0eraD6+dGJ/+9vfitmzZxd1dXXFzJkzi02bNmWPVHFKpVKxcuXKYvr06cX48eOL733ve8Xvf//7oqenJ3u0VC+88MIJH4uWLl1aFMUXH2Fat25dMWXKlKKurq644oorikOHDuUOPcJcBhEAEp12rxEDQDURYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASDR/wEOWANxpaw31wAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Done\n",
      "Sample trajectory on learned policy in episode 1:\n"
     ]
    },
    {
     "data": {
      "image/png": "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GAASCTEAJBJiAEgkxACQSIgBING3CvFdd90VNTU1sWrVqlM0DgCMLkMO8b59++Lhhx+OCy+88FTOAwCjypBC/PHHH8eSJUvikUceiTPOOONUzwQAo8aQQtzW1haLFi2KhQsXfuO2PT09USqVBiwAwBfGlrvDE088EQcOHIh9+/YNavv29va47bbbyh4MAEaDss6IOzo6YuXKlfHYY4/F+PHjB7XP2rVro6urq3/p6OgY0qAAUI3KOiPev39/dHZ2xiWXXNK/rre3N3bu3BkPPPBA9PT0RG1t7YB96urqoq6u7tRMCwBVpqwQX3HFFfH6668PWLds2bKYOXNm3HzzzcdFGAA4ubJC3NDQELNnzx6wbsKECTFp0qTj1gMA38w3awFAorLfNf3/vfjii6dgDAAYnZwRA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAIm+9XdNAzDM5hXZExxvb032BFXDGTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBINHY7AE4ib012RMcp7soskc4XgUeJ4DBckYMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIFHZIX7//ffj+uuvj0mTJkV9fX3MmTMnXnnlleGYDQCqXlnXI/7oo49iwYIF8ZOf/CSee+65+O53vxtvvfVWnHHGGcM1HwBUtbJCvGHDhmhubo5HH320f11LS8spHwoARouynpp+5plnorW1Na677rqYPHlyXHzxxfHII4+cdJ+enp4olUoDFgDgC2WF+J133omNGzfGjBkz4u9//3v85je/iRUrVsTmzZu/dp/29vZobGzsX5qbm7/10ABQLWqKoigGu/G4ceOitbU1Xnrppf51K1asiH379sXLL798wn16enqip6en/3apVIrm5uaoj4iaoc99ynXvyZ7gNDFv0H8uI2dvJf0lwTDw725QJszPnuArRUT8NyK6urpi4sSJJ922rDPiadOmxQUXXDBg3fnnnx/vvffe1+5TV1cXEydOHLAAAF8oK8QLFiyIQ4cODVh3+PDhOOecc07pUAAwWpQV4ptuuil2794dd955Z7z99tuxZcuW2LRpU7S1tQ3XfABQ1coK8dy5c2Pr1q3x+OOPx+zZs+P222+Pe++9N5YsWTJc8wFAVSvrc8QREddcc01cc801wzELAIw6vmsaABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASFT2d00zylXgxcArkgu5D04lHicYYc6IASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJxmYPAFVpb032BKcHxwmcEQNAJiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIVFaIe3t7Y926ddHS0hL19fVx3nnnxe233x5FUQzXfABQ1cq6HvGGDRti48aNsXnz5pg1a1a88sorsWzZsmhsbIwVK1YM14wAULXKCvFLL70UP/3pT2PRokUREXHuuefG448/Hnv37h2W4QCg2pX11PTll18e27dvj8OHD0dExGuvvRa7du2Kq6+++mv36enpiVKpNGABAL5Q1hnxmjVrolQqxcyZM6O2tjZ6e3tj/fr1sWTJkq/dp729PW677bZvPSgAVKOyzoifeuqpeOyxx2LLli1x4MCB2Lx5c/zxj3+MzZs3f+0+a9euja6urv6lo6PjWw8NANWipijjLc/Nzc2xZs2aaGtr6193xx13xF/+8pd48803B/U7SqVSNDY2Rn1E1JQ97vDp3pM9AQDfxoT52RN8pYiI/0ZEV1dXTJw48aTblnVG/Mknn8SYMQN3qa2tjb6+vnJnBACizNeIr7322li/fn1Mnz49Zs2aFa+++mrcc889sXz58uGaDwCqWllPTR87dizWrVsXW7dujc7Ozmhqaopf/epXccstt8S4ceMG9Ts8NQ3AcDhdn5ouK8SnghADMBxO1xD7rmkASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgUVlXX6pmlfQdpQCMHs6IASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERjR/oOi6L44r8jfccAMEK+bNyXzTuZEQ/xsWPHIiLi05G+YwAYYceOHYvGxsaTblNTDCbXp1BfX1988MEH0dDQEDU1NUP+PaVSKZqbm6OjoyMmTpx4CiesLo7T4DhOg+M4DY7jNDjVfJyKoohjx45FU1NTjBlz8leBR/yMeMyYMXH22Wefst83ceLEqvsfOBwcp8FxnAbHcRocx2lwqvU4fdOZ8Je8WQsAEgkxACQ6bUNcV1cXt956a9TV1WWPUtEcp8FxnAbHcRocx2lwHKcvjPibtQCAr5y2Z8QAUA2EGAASCTEAJBJiAEh02ob4wQcfjHPPPTfGjx8f8+fPj71792aPVFHa29tj7ty50dDQEJMnT47FixfHoUOHsseqaHfddVfU1NTEqlWrskepOO+//35cf/31MWnSpKivr485c+bEK6+8kj1WRent7Y1169ZFS0tL1NfXx3nnnRe33377oL5ruJrt3Lkzrr322mhqaoqampr461//OuDnRVHELbfcEtOmTYv6+vpYuHBhvPXWWznDJjktQ/zkk0/G6tWr49Zbb40DBw7ERRddFFdddVV0dnZmj1YxduzYEW1tbbF79+7Ytm1bfP7553HllVdGd3d39mgVad++ffHwww/HhRdemD1Kxfnoo49iwYIF8Z3vfCeee+65+Oc//xl/+tOf4owzzsgeraJs2LAhNm7cGA888ED861//ig0bNsTdd98d999/f/Zoqbq7u+Oiiy6KBx988IQ/v/vuu+O+++6Lhx56KPbs2RMTJkyIq666Kj79dBRdkaA4Dc2bN69oa2vrv93b21s0NTUV7e3tiVNVts7OziIiih07dmSPUnGOHTtWzJgxo9i2bVvxox/9qFi5cmX2SBXl5ptvLn7wgx9kj1HxFi1aVCxfvnzAup/97GfFkiVLkiaqPBFRbN26tf92X19fMXXq1OIPf/hD/7r//Oc/RV1dXfH4448nTJjjtDsj/uyzz2L//v2xcOHC/nVjxoyJhQsXxssvv5w4WWXr6uqKiIgzzzwzeZLK09bWFosWLRrwN8VXnnnmmWhtbY3rrrsuJk+eHBdffHE88sgj2WNVnMsvvzy2b98ehw8fjoiI1157LXbt2hVXX3118mSV6913340jR44M+LfX2NgY8+fPH1WP5yN+0Ydv68MPP4ze3t6YMmXKgPVTpkyJN998M2mqytbX1xerVq2KBQsWxOzZs7PHqShPPPFEHDhwIPbt25c9SsV65513YuPGjbF69er43e9+F/v27YsVK1bEuHHjYunSpdnjVYw1a9ZEqVSKmTNnRm1tbfT29sb69etjyZIl2aNVrCNHjkREnPDx/MufjQanXYgpX1tbW7zxxhuxa9eu7FEqSkdHR6xcuTK2bdsW48ePzx6nYvX19UVra2vceeedERFx8cUXxxtvvBEPPfSQEP+Pp556Kh577LHYsmVLzJo1Kw4ePBirVq2KpqYmx4mTOu2emj7rrLOitrY2jh49OmD90aNHY+rUqUlTVa4bbrghnn322XjhhRdO6eUnq8H+/fujs7MzLrnkkhg7dmyMHTs2duzYEffdd1+MHTs2ent7s0esCNOmTYsLLrhgwLrzzz8/3nvvvaSJKtNvf/vbWLNmTfzyl7+MOXPmxK9//eu46aabor29PXu0ivXlY/Zofzw/7UI8bty4uPTSS2P79u396/r6+mL79u1x2WWXJU5WWYqiiBtuuCG2bt0a//jHP6KlpSV7pIpzxRVXxOuvvx4HDx7sX1pbW2PJkiVx8ODBqK2tzR6xIixYsOC4j74dPnw4zjnnnKSJKtMnn3xy3AXga2tro6+vL2miytfS0hJTp04d8HheKpViz549o+rx/LR8anr16tWxdOnSaG1tjXnz5sW9994b3d3dsWzZsuzRKkZbW1ts2bIlnn766WhoaOh/vaWxsTHq6+uTp6sMDQ0Nx71mPmHChJg0aZLX0v/HTTfdFJdffnnceeed8fOf/zz27t0bmzZtik2bNmWPVlGuvfbaWL9+fUyfPj1mzZoVr776atxzzz2xfPny7NFSffzxx/H222/333733Xfj4MGDceaZZ8b06dNj1apVcccdd8SMGTOipaUl1q1bF01NTbF48eK8oUda9tu2h+r+++8vpk+fXowbN66YN29esXv37uyRKkpEnHB59NFHs0eraD6+dGJ/+9vfitmzZxd1dXXFzJkzi02bNmWPVHFKpVKxcuXKYvr06cX48eOL733ve8Xvf//7oqenJ3u0VC+88MIJH4uWLl1aFMUXH2Fat25dMWXKlKKurq644oorikOHDuUOPcJcBhEAEp12rxEDQDURYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASDR/wEOWANxpaw31wAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Done\n",
      "Sample trajectory on learned policy in episode 2:\n"
     ]
    },
    {
     "data": {
      "image/png": "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AEgkxACQ6FuF+O67746amppYsWLFEI0DAKPLKYd479698cgjj8RFF100lPMAwKhySiH++OOPY9GiRfHoo4/GGWecMdQzAcCocUohbmtri4ULF8aCBQu+cduenp4olUoDFgDgC2PL3eHxxx+P/fv3x969ewe1fXt7e9x+++1lDwYAo0FZZ8QdHR2xfPny2Lx5c4wfP35Q+6xZsya6urr6l46OjlMaFACqUVlnxPv27YvOzs649NJL+9f19vbGiy++GA8++GD09PREbW3tgH3q6uqirq5uaKYFgCpTVoivvPLKeOONNwasW7JkScyYMSNuueWW4yIMAJxcWSFuaGiIWbNmDVg3YcKEmDRp0nHrAYBv5pu1ACBR2e+a/v9eeOGFIRgDAEYnZ8QAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAom/9XdMADLO5RfYEx9tTkz1B1XBGDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBINDZ7AE5iT032BMfpLorsEY5XgccJYLCcEQNAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIVHaIP/jgg7jxxhtj0qRJUV9fH7Nnz45XX311OGYDgKpX1vWIP/roo5g/f3785Cc/iWeffTa++93vxttvvx1nnHHGcM0HAFWtrBCvX78+mpub47HHHutf19LSMuRDAcBoUdZT008//XS0trbGDTfcEJMnT45LLrkkHn300ZPu09PTE6VSacACAHyhrBC/++67sWHDhjj//PPj73//e/zmN7+JZcuWxaZNm752n/b29mhsbOxfmpubv/XQAFAtaoqiKAa78bhx46K1tTVefvnl/nXLli2LvXv3xiuvvHLCfXp6eqKnp6f/dqlUiubm5qiPiJpTn3vIde/OnuA0MXfQvy4jZ08l/SbBMPB3NygT5mVP8JUiIv4bEV1dXTFx4sSTblvWGfG0adPiwgsvHLDuggsuiPfff/9r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EX/22Wexb9++WLBgQf+6MWPGxIIFC+KVV15JnKyydXV1RUTEmWeemTxJ5Wlra4uFCxcO+J3iK08//XS0trbGDTfcEJMnT45LLrkkHn300eyxKs4VV1wRO3bsiEOHDkVExOuvvx4vvfRSXHPNNcmTVa733nsvjhw5MuBvr7GxMebNmzeqHs9H/KIP39aHH34Yvb29MWXKlAHrp0yZEm+99VbSVJWtr68vVqxYEfPnz49Zs2Zlj1NRHn/88di/f3/s3bs3e5SK9e6778aGDRti1apV8bvf/S727t0by5Yti3HjxsXixYuzx6sYq1evjlKpFDNmzIja2tro7e2NdevWxaJFi7JHq1hHjhyJiDjh4/mX/zYanHYhpnxtbW3x5ptvxksvvZQ9SkXp6OiI5cuXx/bt22P8+PHZ41Ssvr6+aG1tjbvuuisiIi655JJ488034+GHHxbi//Hkk0/G5s2bY8uWLTFz5sw4cOBArFixIpqamhwnTuq0e2r6rLPOitra2jh69OiA9UePHo2pU6cmTVW5brrppnjmmWfi+eefH9LLT1aDffv2RWdnZ1x66aUxduzYGDt2bOzcuTPuv//+GDt2bPT29maPWBGmTZsWF1544YB1F1xwQbz//vtJE1Wm3/72t7F69er45S9/GbNnz45f//rXsXLlymhvb88erWJ9+Zg92h/PT7sQjxs3Li677LLYsWNH/7q+vr7YsWNHXH755YmTVZaiKOKmm26Kbdu2xT/+8Y9oaWnJHqniXHnllfHGG2/EgQMH+pfW1tZYtGhRHDhwIGpra7NHrAjz588/7qNvhw4dinPOOSdposr0ySefHHcB+Nra2ujr60uaqPK1tLTE1KlTBzyel0ql2L1796h6PD8tn5petWpVLF68OFpbW2Pu3Llx3333RXd3dyxZsiR7tIrR1tYWW7ZsiaeeeioaGhr6X29pbGyM+vr65OkqQ0NDw3GvmU+YMCEmTZrktfT/sXLlyrjiiivirrvuip///OexZ8+e2LhxY2zcuDF7tIpy3XXXxbp162L69Okxc+bMeO211+Lee++NpUuXZo+W6uOPP4533nmn//Z7770XBw4ciDPPPDOmT58eK1asiDvvvDPOP//8aGlpibVr10ZTU1Ncf/31eUOPtOy3bZ+qBx54oJg+fXoxbty4Yu7cucWuXbuyR6ooEXHC5bHHHsseraL5+NKJ/e1vfytmzZpV1NXVFTNmzCg2btyYPVLFKZVKxfLly4vp06cX48ePL773ve8Vv//974uenp7s0VI9//zzJ3wsWrx4cVEUX3yEae3atcWUKVOKurq64sorrywOHjyYO/QIcxlEAEh02r1GDADVRIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaARP8HIoYDXJRDh+8AAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Done\n",
      "Sample trajectory on learned policy in episode 3:\n"
     ]
    },
    {
     "data": {
      "image/png": "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GAASCTEAJBJiAEgkxACQSIgBING3CvFdd90VNTU1sWrVqlM0DgCMLkMO8b59++Lhhx+OCy+88FTOAwCjypBC/PHHH8eSJUvikUceiTPOOONUzwQAo8aQQtzW1haLFi2KhQsXfuO2PT09USqVBiwAwBfGlrvDE088EQcOHIh9+/YNavv29va47bbbyh4MAEaDss6IOzo6YuXKlfHYY4/F+PHjB7XP2rVro6urq3/p6OgY0qAAUI3KOiPev39/dHZ2xiWXXNK/rre3N3bu3BkPPPBA9PT0RG1t7YB96urqoq6u7tRMCwBVpqwQX3HFFfH6668PWLds2bKYOXNm3HzzzcdFGAA4ubJC3NDQELNnzx6wbsKECTFp0qTj1gMA38w3awFAorLfNf3/vfjii6dgDAAYnZwRA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAIm+9XdNAzDM5hXZExxvb032BFXDGTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBINHY7AE4ib012RMcp7soskc4XgUeJ4DBckYMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIFHZIX7//ffj+uuvj0mTJkV9fX3MmTMnXnnlleGYDQCqXlnXI/7oo49iwYIF8ZOf/CSee+65+O53vxtvvfVWnHHGGcM1HwBUtbJCvGHDhmhubo5HH320f11LS8spHwoARouynpp+5plnorW1Na677rqYPHlyXHzxxfHII4+cdJ+enp4olUoDFgDgC2WF+J133omNGzfGjBkz4u9//3v85je/iRUrVsTmzZu/dp/29vZobGzsX5qbm7/10ABQLWqKoigGu/G4ceOitbU1Xnrppf51K1asiH379sXLL798wn16enqip6en/3apVIrm5uaoj4iaoc99ynXvyZ7gNDFv0H8uI2dvJf0lwTDw725QJszPnuArRUT8NyK6urpi4sSJJ922rDPiadOmxQUXXDBg3fnnnx/vvffe1+5TV1cXEydOHLAAAF8oK8QLFiyIQ4cODVh3+PDhOOecc07pUAAwWpQV4ptuuil2794dd955Z7z99tuxZcuW2LRpU7S1tQ3XfABQ1coK8dy5c2Pr1q3x+OOPx+zZs+P222+Pe++9N5YsWTJc8wFAVSvrc8QREddcc01cc801wzELAIw6vmsaABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASFT2d00zylXgxcArkgu5D04lHicYYc6IASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJxmYPAFVpb032BKcHxwmcEQNAJiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIVFaIe3t7Y926ddHS0hL19fVx3nnnxe233x5FUQzXfABQ1cq6HvGGDRti48aNsXnz5pg1a1a88sorsWzZsmhsbIwVK1YM14wAULXKCvFLL70UP/3pT2PRokUREXHuuefG448/Hnv37h2W4QCg2pX11PTll18e27dvj8OHD0dExGuvvRa7du2Kq6+++mv36enpiVKpNGABAL5Q1hnxmjVrolQqxcyZM6O2tjZ6e3tj/fr1sWTJkq/dp729PW677bZvPSgAVKOyzoifeuqpeOyxx2LLli1x4MCB2Lx5c/zxj3+MzZs3f+0+a9euja6urv6lo6PjWw8NANWipijjLc/Nzc2xZs2aaGtr6193xx13xF/+8pd48803B/U7SqVSNDY2Rn1E1JQ97vDp3pM9AQDfxoT52RN8pYiI/0ZEV1dXTJw48aTblnVG/Mknn8SYMQN3qa2tjb6+vnJnBACizNeIr7322li/fn1Mnz49Zs2aFa+++mrcc889sXz58uGaDwCqWllPTR87dizWrVsXW7dujc7Ozmhqaopf/epXccstt8S4ceMG9Ts8NQ3AcDhdn5ouK8SnghADMBxO1xD7rmkASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgUVlXX6pmlfQdpQCMHs6IASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERjR/oOi6L44r8jfccAMEK+bNyXzTuZEQ/xsWPHIiLi05G+YwAYYceOHYvGxsaTblNTDCbXp1BfX1988MEH0dDQEDU1NUP+PaVSKZqbm6OjoyMmTpx4CiesLo7T4DhOg+M4DY7jNDjVfJyKoohjx45FU1NTjBlz8leBR/yMeMyYMXH22Wefst83ceLEqvsfOBwcp8FxnAbHcRocx2lwqvU4fdOZ8Je8WQsAEgkxACQ6bUNcV1cXt956a9TV1WWPUtEcp8FxnAbHcRocx2lwHKcvjPibtQCAr5y2Z8QAUA2EGAASCTEAJBJiAEh02ob4wQcfjHPPPTfGjx8f8+fPj71792aPVFHa29tj7ty50dDQEJMnT47FixfHoUOHsseqaHfddVfU1NTEqlWrskepOO+//35cf/31MWnSpKivr485c+bEK6+8kj1WRent7Y1169ZFS0tL1NfXx3nnnRe33377oL5ruJrt3Lkzrr322mhqaoqampr461//OuDnRVHELbfcEtOmTYv6+vpYuHBhvPXWWznDJjktQ/zkk0/G6tWr49Zbb40DBw7ERRddFFdddVV0dnZmj1YxduzYEW1tbbF79+7Ytm1bfP7553HllVdGd3d39mgVad++ffHwww/HhRdemD1Kxfnoo49iwYIF8Z3vfCeee+65+Oc//xl/+tOf4owzzsgeraJs2LAhNm7cGA888ED861//ig0bNsTdd98d999/f/Zoqbq7u+Oiiy6KBx988IQ/v/vuu+O+++6Lhx56KPbs2RMTJkyIq666Kj79dBRdkaA4Dc2bN69oa2vrv93b21s0NTUV7e3tiVNVts7OziIiih07dmSPUnGOHTtWzJgxo9i2bVvxox/9qFi5cmX2SBXl5ptvLn7wgx9kj1HxFi1aVCxfvnzAup/97GfFkiVLkiaqPBFRbN26tf92X19fMXXq1OIPf/hD/7r//Oc/RV1dXfH4448nTJjjtDsj/uyzz2L//v2xcOHC/nVjxoyJhQsXxssvv5w4WWXr6uqKiIgzzzwzeZLK09bWFosWLRrwN8VXnnnmmWhtbY3rrrsuJk+eHBdffHE88sgj2WNVnMsvvzy2b98ehw8fjoiI1157LXbt2hVXX3118mSV6913340jR44M+LfX2NgY8+fPH1WP5yN+0Ydv68MPP4ze3t6YMmXKgPVTpkyJN998M2mqytbX1xerVq2KBQsWxOzZs7PHqShPPPFEHDhwIPbt25c9SsV65513YuPGjbF69er43e9+F/v27YsVK1bEuHHjYunSpdnjVYw1a9ZEqVSKmTNnRm1tbfT29sb69etjyZIl2aNVrCNHjkREnPDx/MufjQanXYgpX1tbW7zxxhuxa9eu7FEqSkdHR6xcuTK2bdsW48ePzx6nYvX19UVra2vceeedERFx8cUXxxtvvBEPPfSQEP+Pp556Kh577LHYsmVLzJo1Kw4ePBirVq2KpqYmx4mTOu2emj7rrLOitrY2jh49OmD90aNHY+rUqUlTVa4bbrghnn322XjhhRdO6eUnq8H+/fujs7MzLrnkkhg7dmyMHTs2duzYEffdd1+MHTs2ent7s0esCNOmTYsLLrhgwLrzzz8/3nvvvaSJKtNvf/vbWLNmTfzyl7+MOXPmxK9//eu46aabor29PXu0ivXlY/Zofzw/7UI8bty4uPTSS2P79u396/r6+mL79u1x2WWXJU5WWYqiiBtuuCG2bt0a//jHP6KlpSV7pIpzxRVXxOuvvx4HDx7sX1pbW2PJkiVx8ODBqK2tzR6xIixYsOC4j74dPnw4zjnnnKSJKtMnn3xy3AXga2tro6+vL2miytfS0hJTp04d8HheKpViz549o+rx/LR8anr16tWxdOnSaG1tjXnz5sW9994b3d3dsWzZsuzRKkZbW1ts2bIlnn766WhoaOh/vaWxsTHq6+uTp6sMDQ0Nx71mPmHChJg0aZLX0v/HTTfdFJdffnnceeed8fOf/zz27t0bmzZtik2bNmWPVlGuvfbaWL9+fUyfPj1mzZoVr776atxzzz2xfPny7NFSffzxx/H222/333733Xfj4MGDceaZZ8b06dNj1apVcccdd8SMGTOipaUl1q1bF01NTbF48eK8oUda9tu2h+r+++8vpk+fXowbN66YN29esXv37uyRKkpEnHB59NFHs0eraD6+dGJ/+9vfitmzZxd1dXXFzJkzi02bNmWPVHFKpVKxcuXKYvr06cX48eOL733ve8Xvf//7oqenJ3u0VC+88MIJH4uWLl1aFMUXH2Fat25dMWXKlKKurq644oorikOHDuUOPcJcBhEAEp12rxEDQDURYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASDR/wEOWANxpaw31wAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Done\n",
      "Sample trajectory on learned policy in episode 4:\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeIAAAGdCAYAAADOnXC3AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAVSUlEQVR4nO3dbWxVhf3A8V8pozSkNIrjobFoZ0hQQKcWiLLsIRKNQTOyxD0EFwLvliogySJsQWMUK24zxoeg+MKRTHx4w3QmuhCmEKI8CGI0m6DRxEYDnYnrxTqrac//hbGufxB7K+3vcvv5JCfmnp7T+8ux3G/OfTo1RVEUAQCkGJM9AACMZkIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0CisSN9h319ffHBBx9EQ0ND1NTUjPTdA8CwK4oijh07Fk1NTTFmzMnPeUc8xB988EE0NzeP9N0CwIjr6OiIs88++6TbjHiIGxoaIiJifEQ4HwagGhUR8Wl81byTGfEQf/l0dE0IMQDVbTAvwXqzFgAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBoSCF+8MEH49xzz43x48fH/PnzY+/evad6LgAYFcoO8ZNPPhmrV6+OW2+9NQ4cOBAXXXRRXHXVVdHZ2Tkc8wFAVaspiqIoZ4f58+fH3Llz44EHHoiIiL6+vmhubo4bb7wx1qxZ8437l0qlaGxsjPpw9SUAqlMREf+NiK6urpg4ceJJty3rjPizzz6L/fv3x8KFC7/6BWPGxMKFC+Pll18+4T49PT1RKpUGLADAF8oK8Ycffhi9vb0xZcqUAeunTJkSR44cOeE+7e3t0djY2L80NzcPfVoAqDLD/q7ptWvXRldXV//S0dEx3HcJAKeNseVsfNZZZ0VtbW0cPXp0wPqjR4/G1KlTT7hPXV1d1NXVDX1CAKhiZZ0Rjxs3Li699NLYvn17/7q+vr7Yvn17XHbZZad8OACodmWdEUdErF69OpYuXRqtra0xb968uPfee6O7uzuWLVs2HPMBQFUrO8S/+MUv4t///nfccsstceTIkfj+978fzz///HFv4AIAvlnZnyP+tnyOGIBqN2yfIwYATi0hBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAicq+6EO16t6TPQFVZd6IfoX7oEyoqbxvd383e4ATmOyx4LQ1YX72BEPjjBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkGhs9gDA6DV5T/YEJzCvyJ7geHtrsidgGDkjBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJCorBC3t7fH3Llzo6GhISZPnhyLFy+OQ4cODddsAFD1ygrxjh07oq2tLXbv3h3btm2Lzz//PK688sro7u4ervkAoKqNLWfj559/fsDtP//5zzF58uTYv39//PCHPzylgwHAaFBWiP+/rq6uiIg488wzv3abnp6e6Onp6b9dKpW+zV0CQFUZ8pu1+vr6YtWqVbFgwYKYPXv2127X3t4ejY2N/Utzc/NQ7xIAqs6QQ9zW1hZvvPFGPPHEEyfdbu3atdHV1dW/dHR0DPUuAaDqDOmp6RtuuCGeffbZ2LlzZ5x99tkn3bauri7q6uqGNBwAVLuyQlwURdx4442xdevWePHFF6OlpWW45gKAUaGsELe1tcWWLVvi6aefjoaGhjhy5EhERDQ2NkZ9ff2wDAgA1ays14g3btwYXV1d8eMf/zimTZvWvzz55JPDNR8AVLWyn5oGAE4d3zUNAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBrS9YgZxeZV4PeN763JnoAh6pyfPcHxJu+pwL8n/+6qmjNiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0CisdkDcBLziuwJjjOhpiZ7hNOE4zQYLdkDnMj87AGO173H31M1c0YMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBING3CvFdd90VNTU1sWrVqlM0DgCMLkMO8b59++Lhhx+OCy+88FTOAwCjypBC/PHHH8eSJUvikUceiTPOOONUzwQAo8aQQtzW1haLFi2KhQsXfuO2PT09USqVBiwAwBfGlrvDE088EQcOHIh9+/YNavv29va47bbbyh4MAEaDss6IOzo6YuXKlfHYY4/F+PHjB7XP2rVro6urq3/p6OgY0qAAUI3KOiPev39/dHZ2xiWXXNK/rre3N3bu3BkPPPBA9PT0RG1t7YB96urqoq6u7tRMCwBVpqwQX3HFFfH6668PWLds2bKYOXNm3HzzzcdFGAA4ubJC3NDQELNnzx6wbsKECTFp0qTj1gMA38w3awFAorLfNf3/vfjii6dgDAAYnZwRA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAIm+9XdNAzDM5hXZExxvb032BFXDGTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBINHY7AE4ib012RMcp7soskc4XgUeJ4DBckYMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIFHZIX7//ffj+uuvj0mTJkV9fX3MmTMnXnnlleGYDQCqXlnXI/7oo49iwYIF8ZOf/CSee+65+O53vxtvvfVWnHHGGcM1HwBUtbJCvGHDhmhubo5HH320f11LS8spHwoARouynpp+5plnorW1Na677rqYPHlyXHzxxfHII4+cdJ+enp4olUoDFgDgC2WF+J133omNGzfGjBkz4u9//3v85je/iRUrVsTmzZu/dp/29vZobGzsX5qbm7/10ABQLWqKoigGu/G4ceOitbU1Xnrppf51K1asiH379sXLL798wn16enqip6en/3apVIrm5uaoj4iaoc99ynXvyZ7gNDFv0H8uI2dvJf0lwTDw725QJszPnuArRUT8NyK6urpi4sSJJ922rDPiadOmxQUXXDBg3fnnnx/vvffe1+5TV1cXEydOHLAAAF8oK8QLFiyIQ4cODVh3+PDhOOecc07pUAAwWpQV4ptuuil2794dd955Z7z99tuxZcuW2LRpU7S1tQ3XfABQ1coK8dy5c2Pr1q3x+OOPx+zZs+P222+Pe++9N5YsWTJc8wFAVSvrc8QREddcc01cc801wzELAIw6vmsaABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASFT2d00zylXgxcArkgu5D04lHicYYc6IASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJxmYPAFVpb032BKcHxwmcEQNAJiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIVFaIe3t7Y926ddHS0hL19fVx3nnnxe233x5FUQzXfABQ1cq6HvGGDRti48aNsXnz5pg1a1a88sorsWzZsmhsbIwVK1YM14wAULXKCvFLL70UP/3pT2PRokUREXHuuefG448/Hnv37h2W4QCg2pX11PTll18e27dvj8OHD0dExGuvvRa7du2Kq6+++mv36enpiVKpNGABAL5Q1hnxmjVrolQqxcyZM6O2tjZ6e3tj/fr1sWTJkq/dp729PW677bZvPSgAVKOyzoifeuqpeOyxx2LLli1x4MCB2Lx5c/zxj3+MzZs3f+0+a9euja6urv6lo6PjWw8NANWipijjLc/Nzc2xZs2aaGtr6193xx13xF/+8pd48803B/U7SqVSNDY2Rn1E1JQ97vDp3pM9AQDfxoT52RN8pYiI/0ZEV1dXTJw48aTblnVG/Mknn8SYMQN3qa2tjb6+vnJnBACizNeIr7322li/fn1Mnz49Zs2aFa+++mrcc889sXz58uGaDwCqWllPTR87dizWrVsXW7dujc7Ozmhqaopf/epXccstt8S4ceMG9Ts8NQ3AcDhdn5ouK8SnghADMBxO1xD7rmkASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgUVlXX6pmlfQdpQCMHs6IASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERjR/oOi6L44r8jfccAMEK+bNyXzTuZEQ/xsWPHIiLi05G+YwAYYceOHYvGxsaTblNTDCbXp1BfX1988MEH0dDQEDU1NUP+PaVSKZqbm6OjoyMmTpx4CiesLo7T4DhOg+M4DY7jNDjVfJyKoohjx45FU1NTjBlz8leBR/yMeMyYMXH22Wefst83ceLEqvsfOBwcp8FxnAbHcRocx2lwqvU4fdOZ8Je8WQsAEgkxACQ6bUNcV1cXt956a9TV1WWPUtEcp8FxnAbHcRocx2lwHKcvjPibtQCAr5y2Z8QAUA2EGAASCTEAJBJiAEh02ob4wQcfjHPPPTfGjx8f8+fPj71792aPVFHa29tj7ty50dDQEJMnT47FixfHoUOHsseqaHfddVfU1NTEqlWrskepOO+//35cf/31MWnSpKivr485c+bEK6+8kj1WRent7Y1169ZFS0tL1NfXx3nnnRe33377oL5ruJrt3Lkzrr322mhqaoqampr461//OuDnRVHELbfcEtOmTYv6+vpYuHBhvPXWWznDJjktQ/zkk0/G6tWr49Zbb40DBw7ERRddFFdddVV0dnZmj1YxduzYEW1tbbF79+7Ytm1bfP7553HllVdGd3d39mgVad++ffHwww/HhRdemD1Kxfnoo49iwYIF8Z3vfCeee+65+Oc//xl/+tOf4owzzsgeraJs2LAhNm7cGA888ED861//ig0bNsTdd98d999/f/Zoqbq7u+Oiiy6KBx988IQ/v/vuu+O+++6Lhx56KPbs2RMTJkyIq666Kj79dBRdkaA4Dc2bN69oa2vrv93b21s0NTUV7e3tiVNVts7OziIiih07dmSPUnGOHTtWzJgxo9i2bVvxox/9qFi5cmX2SBXl5ptvLn7wgx9kj1HxFi1aVCxfvnzAup/97GfFkiVLkiaqPBFRbN26tf92X19fMXXq1OIPf/hD/7r//Oc/RV1dXfH4448nTJjjtDsj/uyzz2L//v2xcOHC/nVjxoyJhQsXxssvv5w4WWXr6uqKiIgzzzwzeZLK09bWFosWLRrwN8VXnnnmmWhtbY3rrrsuJk+eHBdffHE88sgj2WNVnMsvvzy2b98ehw8fjoiI1157LXbt2hVXX3118mSV6913340jR44M+LfX2NgY8+fPH1WP5yN+0Ydv68MPP4ze3t6YMmXKgPVTpkyJN998M2mqytbX1xerVq2KBQsWxOzZs7PHqShPPPFEHDhwIPbt25c9SsV65513YuPGjbF69er43e9+F/v27YsVK1bEuHHjYunSpdnjVYw1a9ZEqVSKmTNnRm1tbfT29sb69etjyZIl2aNVrCNHjkREnPDx/MufjQanXYgpX1tbW7zxxhuxa9eu7FEqSkdHR6xcuTK2bdsW48ePzx6nYvX19UVra2vceeedERFx8cUXxxtvvBEPPfSQEP+Pp556Kh577LHYsmVLzJo1Kw4ePBirVq2KpqYmx4mTOu2emj7rrLOitrY2jh49OmD90aNHY+rUqUlTVa4bbrghnn322XjhhRdO6eUnq8H+/fujs7MzLrnkkhg7dmyMHTs2duzYEffdd1+MHTs2ent7s0esCNOmTYsLLrhgwLrzzz8/3nvvvaSJKtNvf/vbWLNmTfzyl7+MOXPmxK9//eu46aabor29PXu0ivXlY/Zofzw/7UI8bty4uPTSS2P79u396/r6+mL79u1x2WWXJU5WWYqiiBtuuCG2bt0a//jHP6KlpSV7pIpzxRVXxOuvvx4HDx7sX1pbW2PJkiVx8ODBqK2tzR6xIixYsOC4j74dPnw4zjnnnKSJKtMnn3xy3AXga2tro6+vL2miytfS0hJTp04d8HheKpViz549o+rx/LR8anr16tWxdOnSaG1tjXnz5sW9994b3d3dsWzZsuzRKkZbW1ts2bIlnn766WhoaOh/vaWxsTHq6+uTp6sMDQ0Nx71mPmHChJg0aZLX0v/HTTfdFJdffnnceeed8fOf/zz27t0bmzZtik2bNmWPVlGuvfbaWL9+fUyfPj1mzZoVr776atxzzz2xfPny7NFSffzxx/H222/333733Xfj4MGDceaZZ8b06dNj1apVcccdd8SMGTOipaUl1q1bF01NTbF48eK8oUda9tu2h+r+++8vpk+fXowbN66YN29esXv37uyRKkpEnHB59NFHs0eraD6+dGJ/+9vfitmzZxd1dXXFzJkzi02bNmWPVHFKpVKxcuXKYvr06cX48eOL733ve8Xvf//7oqenJ3u0VC+88MIJH4uWLl1aFMUXH2Fat25dMWXKlKKurq644oorikOHDuUOPcJcBhEAEp12rxEDQDURYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASDR/wEOWANxpaw31wAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Done\n",
      "Sample trajectory on learned policy in episode 5:\n"
     ]
    },
    {
     "data": {
      "image/png": "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AEgkxACQ6FuF+O67746amppYsWLFEI0DAKPLKYd479698cgjj8RFF100lPMAwKhySiH++OOPY9GiRfHoo4/GGWecMdQzAcCocUohbmtri4ULF8aCBQu+cduenp4olUoDFgDgC2PL3eHxxx+P/fv3x969ewe1fXt7e9x+++1lDwYAo0FZZ8QdHR2xfPny2Lx5c4wfP35Q+6xZsya6urr6l46OjlMaFACqUVlnxPv27YvOzs649NJL+9f19vbGiy++GA8++GD09PREbW3tgH3q6uqirq5uaKYFgCpTVoivvPLKeOONNwasW7JkScyYMSNuueWW4yIMAJxcWSFuaGiIWbNmDVg3YcKEmDRp0nHrAYBv5pu1ACBR2e+a/v9eeOGFIRgDAEYnZ8QAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAom/9XdMADLO5RfYEx9tTkz1B1XBGDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBINDZ7AE5iT032BMfpLorsEY5XgccJYLCcEQNAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIVHaIP/jgg7jxxhtj0qRJUV9fH7Nnz45XX311OGYDgKpX1vWIP/roo5g/f3785Cc/iWeffTa++93vxttvvx1nnHHGcM0HAFWtrBCvX78+mpub47HHHutf19LSMuRDAcBoUdZT008//XS0trbGDTfcEJMnT45LLrkkHn300ZPu09PTE6VSacACAHyhrBC/++67sWHDhjj//PPj73//e/zmN7+JZcuWxaZNm752n/b29mhsbOxfmpubv/XQAFAtaoqiKAa78bhx46K1tTVefvnl/nXLli2LvXv3xiuvvHLCfXp6eqKnp6f/dqlUiubm5qiPiJpTn3vIde/OnuA0MXfQvy4jZ08l/SbBMPB3NygT5mVP8JUiIv4bEV1dXTFx4sSTblvWGfG0adPiwgsvHLDuggsuiPfff/9r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EX/22Wexb9++WLBgQf+6MWPGxIIFC+KVV15JnKyydXV1RUTEmWeemTxJ5Wlra4uFCxcO+J3iK08//XS0trbGDTfcEJMnT45LLrkkHn300eyxKs4VV1wRO3bsiEOHDkVExOuvvx4vvfRSXHPNNcmTVa733nsvjhw5MuBvr7GxMebNmzeqHs9H/KIP39aHH34Yvb29MWXKlAHrp0yZEm+99VbSVJWtr68vVqxYEfPnz49Zs2Zlj1NRHn/88di/f3/s3bs3e5SK9e6778aGDRti1apV8bvf/S727t0by5Yti3HjxsXixYuzx6sYq1evjlKpFDNmzIja2tro7e2NdevWxaJFi7JHq1hHjhyJiDjh4/mX/zYanHYhpnxtbW3x5ptvxksvvZQ9SkXp6OiI5cuXx/bt22P8+PHZ41Ssvr6+aG1tjbvuuisiIi655JJ488034+GHHxbi//Hkk0/G5s2bY8uWLTFz5sw4cOBArFixIpqamhwnTuq0e2r6rLPOitra2jh69OiA9UePHo2pU6cmTVW5brrppnjmmWfi+eefH9LLT1aDffv2RWdnZ1x66aUxduzYGDt2bOzcuTPuv//+GDt2bPT29maPWBGmTZsWF1544YB1F1xwQbz//vtJE1Wm3/72t7F69er45S9/GbNnz45f//rXsXLlymhvb88erWJ9+Zg92h/PT7sQjxs3Li677LLYsWNH/7q+vr7YsWNHXH755YmTVZaiKOKmm26Kbdu2xT/+8Y9oaWnJHqniXHnllfHGG2/EgQMH+pfW1tZYtGhRHDhwIGpra7NHrAjz588/7qNvhw4dinPOOSdposr0ySefHHcB+Nra2ujr60uaqPK1tLTE1KlTBzyel0ql2L1796h6PD8tn5petWpVLF68OFpbW2Pu3Llx3333RXd3dyxZsiR7tIrR1tYWW7ZsiaeeeioaGhr6X29pbGyM+vr65OkqQ0NDw3GvmU+YMCEmTZrktfT/sXLlyrjiiivirrvuip///OexZ8+e2LhxY2zcuDF7tIpy3XXXxbp162L69Okxc+bMeO211+Lee++NpUuXZo+W6uOPP4533nmn//Z7770XBw4ciDPPPDOmT58eK1asiDvvvDPOP//8aGlpibVr10ZTU1Ncf/31eUOPtOy3bZ+qBx54oJg+fXoxbty4Yu7cucWuXbuyR6ooEXHC5bHHHsseraL5+NKJ/e1vfytmzZpV1NXVFTNmzCg2btyYPVLFKZVKxfLly4vp06cX48ePL773ve8Vv//974uenp7s0VI9//zzJ3wsWrx4cVEUX3yEae3atcWUKVOKurq64sorrywOHjyYO/QIcxlEAEh02r1GDADVRIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaARP8HIoYDXJRDh+8AAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Done\n",
      "Sample trajectory on learned policy in episode 6:\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeIAAAGdCAYAAADOnXC3AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAVSUlEQVR4nO3dbWxVhf3A8V8pozSkNIrjobFoZ0hQQKcWiLLsIRKNQTOyxD0EFwLvliogySJsQWMUK24zxoeg+MKRTHx4w3QmuhCmEKI8CGI0m6DRxEYDnYnrxTqrac//hbGufxB7K+3vcvv5JCfmnp7T+8ux3G/OfTo1RVEUAQCkGJM9AACMZkIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0CisSN9h319ffHBBx9EQ0ND1NTUjPTdA8CwK4oijh07Fk1NTTFmzMnPeUc8xB988EE0NzeP9N0CwIjr6OiIs88++6TbjHiIGxoaIiJifEQ4HwagGhUR8Wl81byTGfEQf/l0dE0IMQDVbTAvwXqzFgAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBoSCF+8MEH49xzz43x48fH/PnzY+/evad6LgAYFcoO8ZNPPhmrV6+OW2+9NQ4cOBAXXXRRXHXVVdHZ2Tkc8wFAVaspiqIoZ4f58+fH3Llz44EHHoiIiL6+vmhubo4bb7wx1qxZ8437l0qlaGxsjPpw9SUAqlMREf+NiK6urpg4ceJJty3rjPizzz6L/fv3x8KFC7/6BWPGxMKFC+Pll18+4T49PT1RKpUGLADAF8oK8Ycffhi9vb0xZcqUAeunTJkSR44cOeE+7e3t0djY2L80NzcPfVoAqDLD/q7ptWvXRldXV//S0dEx3HcJAKeNseVsfNZZZ0VtbW0cPXp0wPqjR4/G1KlTT7hPXV1d1NXVDX1CAKhiZZ0Rjxs3Li699NLYvn17/7q+vr7Yvn17XHbZZad8OACodmWdEUdErF69OpYuXRqtra0xb968uPfee6O7uzuWLVs2HPMBQFUrO8S/+MUv4t///nfccsstceTIkfj+978fzz///HFv4AIAvlnZnyP+tnyOGIBqN2yfIwYATi0hBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAicq+6EO16t6TPQFVZd6IfoX7oEyoqbxvd383e4ATmOyx4LQ1YX72BEPjjBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkGhs9gDA6DV5T/YEJzCvyJ7geHtrsidgGDkjBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJCorBC3t7fH3Llzo6GhISZPnhyLFy+OQ4cODddsAFD1ygrxjh07oq2tLXbv3h3btm2Lzz//PK688sro7u4ervkAoKqNLWfj559/fsDtP//5zzF58uTYv39//PCHPzylgwHAaFBWiP+/rq6uiIg488wzv3abnp6e6Onp6b9dKpW+zV0CQFUZ8pu1+vr6YtWqVbFgwYKYPXv2127X3t4ejY2N/Utzc/NQ7xIAqs6QQ9zW1hZvvPFGPPHEEyfdbu3atdHV1dW/dHR0DPUuAaDqDOmp6RtuuCGeffbZ2LlzZ5x99tkn3bauri7q6uqGNBwAVLuyQlwURdx4442xdevWePHFF6OlpWW45gKAUaGsELe1tcWWLVvi6aefjoaGhjhy5EhERDQ2NkZ9ff2wDAgA1ays14g3btwYXV1d8eMf/zimTZvWvzz55JPDNR8AVLWyn5oGAE4d3zUNAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBrS9YgZxeZV4PeN763JnoAh6pyfPcHxJu+pwL8n/+6qmjNiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0CisdkDcBLziuwJjjOhpiZ7hNOE4zQYLdkDnMj87AGO173H31M1c0YMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBING3CvFdd90VNTU1sWrVqlM0DgCMLkMO8b59++Lhhx+OCy+88FTOAwCjypBC/PHHH8eSJUvikUceiTPOOONUzwQAo8aQQtzW1haLFi2KhQsXfuO2PT09USqVBiwAwBfGlrvDE088EQcOHIh9+/YNavv29va47bbbyh4MAEaDss6IOzo6YuXKlfHYY4/F+PHjB7XP2rVro6urq3/p6OgY0qAAUI3KOiPev39/dHZ2xiWXXNK/rre3N3bu3BkPPPBA9PT0RG1t7YB96urqoq6u7tRMCwBVpqwQX3HFFfH6668PWLds2bKYOXNm3HzzzcdFGAA4ubJC3NDQELNnzx6wbsKECTFp0qTj1gMA38w3awFAorLfNf3/vfjii6dgDAAYnZwRA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAIm+9XdNAzDM5hXZExxvb032BFXDGTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBINHY7AE4ib012RMcp7soskc4XgUeJ4DBckYMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIFHZIX7//ffj+uuvj0mTJkV9fX3MmTMnXnnlleGYDQCqXlnXI/7oo49iwYIF8ZOf/CSee+65+O53vxtvvfVWnHHGGcM1HwBUtbJCvGHDhmhubo5HH320f11LS8spHwoARouynpp+5plnorW1Na677rqYPHlyXHzxxfHII4+cdJ+enp4olUoDFgDgC2WF+J133omNGzfGjBkz4u9//3v85je/iRUrVsTmzZu/dp/29vZobGzsX5qbm7/10ABQLWqKoigGu/G4ceOitbU1Xnrppf51K1asiH379sXLL798wn16enqip6en/3apVIrm5uaoj4iaoc99ynXvyZ7gNDFv0H8uI2dvJf0lwTDw725QJszPnuArRUT8NyK6urpi4sSJJ922rDPiadOmxQUXXDBg3fnnnx/vvffe1+5TV1cXEydOHLAAAF8oK8QLFiyIQ4cODVh3+PDhOOecc07pUAAwWpQV4ptuuil2794dd955Z7z99tuxZcuW2LRpU7S1tQ3XfABQ1coK8dy5c2Pr1q3x+OOPx+zZs+P222+Pe++9N5YsWTJc8wFAVSvrc8QREddcc01cc801wzELAIw6vmsaABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASFT2d00zylXgxcArkgu5D04lHicYYc6IASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJxmYPAFVpb032BKcHxwmcEQNAJiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIVFaIe3t7Y926ddHS0hL19fVx3nnnxe233x5FUQzXfABQ1cq6HvGGDRti48aNsXnz5pg1a1a88sorsWzZsmhsbIwVK1YM14wAULXKCvFLL70UP/3pT2PRokUREXHuuefG448/Hnv37h2W4QCg2pX11PTll18e27dvj8OHD0dExGuvvRa7du2Kq6+++mv36enpiVKpNGABAL5Q1hnxmjVrolQqxcyZM6O2tjZ6e3tj/fr1sWTJkq/dp729PW677bZvPSgAVKOyzoifeuqpeOyxx2LLli1x4MCB2Lx5c/zxj3+MzZs3f+0+a9euja6urv6lo6PjWw8NANWipijjLc/Nzc2xZs2aaGtr6193xx13xF/+8pd48803B/U7SqVSNDY2Rn1E1JQ97vDp3pM9AQDfxoT52RN8pYiI/0ZEV1dXTJw48aTblnVG/Mknn8SYMQN3qa2tjb6+vnJnBACizNeIr7322li/fn1Mnz49Zs2aFa+++mrcc889sXz58uGaDwCqWllPTR87dizWrVsXW7dujc7Ozmhqaopf/epXccstt8S4ceMG9Ts8NQ3AcDhdn5ouK8SnghADMBxO1xD7rmkASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgUVlXX6pmlfQdpQCMHs6IASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERjR/oOi6L44r8jfccAMEK+bNyXzTuZEQ/xsWPHIiLi05G+YwAYYceOHYvGxsaTblNTDCbXp1BfX1988MEH0dDQEDU1NUP+PaVSKZqbm6OjoyMmTpx4CiesLo7T4DhOg+M4DY7jNDjVfJyKoohjx45FU1NTjBlz8leBR/yMeMyYMXH22Wefst83ceLEqvsfOBwcp8FxnAbHcRocx2lwqvU4fdOZ8Je8WQsAEgkxACQ6bUNcV1cXt956a9TV1WWPUtEcp8FxnAbHcRocx2lwHKcvjPibtQCAr5y2Z8QAUA2EGAASCTEAJBJiAEh02ob4wQcfjHPPPTfGjx8f8+fPj71792aPVFHa29tj7ty50dDQEJMnT47FixfHoUOHsseqaHfddVfU1NTEqlWrskepOO+//35cf/31MWnSpKivr485c+bEK6+8kj1WRent7Y1169ZFS0tL1NfXx3nnnRe33377oL5ruJrt3Lkzrr322mhqaoqampr461//OuDnRVHELbfcEtOmTYv6+vpYuHBhvPXWWznDJjktQ/zkk0/G6tWr49Zbb40DBw7ERRddFFdddVV0dnZmj1YxduzYEW1tbbF79+7Ytm1bfP7553HllVdGd3d39mgVad++ffHwww/HhRdemD1Kxfnoo49iwYIF8Z3vfCeee+65+Oc//xl/+tOf4owzzsgeraJs2LAhNm7cGA888ED861//ig0bNsTdd98d999/f/Zoqbq7u+Oiiy6KBx988IQ/v/vuu+O+++6Lhx56KPbs2RMTJkyIq666Kj79dBRdkaA4Dc2bN69oa2vrv93b21s0NTUV7e3tiVNVts7OziIiih07dmSPUnGOHTtWzJgxo9i2bVvxox/9qFi5cmX2SBXl5ptvLn7wgx9kj1HxFi1aVCxfvnzAup/97GfFkiVLkiaqPBFRbN26tf92X19fMXXq1OIPf/hD/7r//Oc/RV1dXfH4448nTJjjtDsj/uyzz2L//v2xcOHC/nVjxoyJhQsXxssvv5w4WWXr6uqKiIgzzzwzeZLK09bWFosWLRrwN8VXnnnmmWhtbY3rrrsuJk+eHBdffHE88sgj2WNVnMsvvzy2b98ehw8fjoiI1157LXbt2hVXX3118mSV6913340jR44M+LfX2NgY8+fPH1WP5yN+0Ydv68MPP4ze3t6YMmXKgPVTpkyJN998M2mqytbX1xerVq2KBQsWxOzZs7PHqShPPPFEHDhwIPbt25c9SsV65513YuPGjbF69er43e9+F/v27YsVK1bEuHHjYunSpdnjVYw1a9ZEqVSKmTNnRm1tbfT29sb69etjyZIl2aNVrCNHjkREnPDx/MufjQanXYgpX1tbW7zxxhuxa9eu7FEqSkdHR6xcuTK2bdsW48ePzx6nYvX19UVra2vceeedERFx8cUXxxtvvBEPPfSQEP+Pp556Kh577LHYsmVLzJo1Kw4ePBirVq2KpqYmx4mTOu2emj7rrLOitrY2jh49OmD90aNHY+rUqUlTVa4bbrghnn322XjhhRdO6eUnq8H+/fujs7MzLrnkkhg7dmyMHTs2duzYEffdd1+MHTs2ent7s0esCNOmTYsLLrhgwLrzzz8/3nvvvaSJKtNvf/vbWLNmTfzyl7+MOXPmxK9//eu46aabor29PXu0ivXlY/Zofzw/7UI8bty4uPTSS2P79u396/r6+mL79u1x2WWXJU5WWYqiiBtuuCG2bt0a//jHP6KlpSV7pIpzxRVXxOuvvx4HDx7sX1pbW2PJkiVx8ODBqK2tzR6xIixYsOC4j74dPnw4zjnnnKSJKtMnn3xy3AXga2tro6+vL2miytfS0hJTp04d8HheKpViz549o+rx/LR8anr16tWxdOnSaG1tjXnz5sW9994b3d3dsWzZsuzRKkZbW1ts2bIlnn766WhoaOh/vaWxsTHq6+uTp6sMDQ0Nx71mPmHChJg0aZLX0v/HTTfdFJdffnnceeed8fOf/zz27t0bmzZtik2bNmWPVlGuvfbaWL9+fUyfPj1mzZoVr776atxzzz2xfPny7NFSffzxx/H222/333733Xfj4MGDceaZZ8b06dNj1apVcccdd8SMGTOipaUl1q1bF01NTbF48eK8oUda9tu2h+r+++8vpk+fXowbN66YN29esXv37uyRKkpEnHB59NFHs0eraD6+dGJ/+9vfitmzZxd1dXXFzJkzi02bNmWPVHFKpVKxcuXKYvr06cX48eOL733ve8Xvf//7oqenJ3u0VC+88MIJH4uWLl1aFMUXH2Fat25dMWXKlKKurq644oorikOHDuUOPcJcBhEAEp12rxEDQDURYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASDR/wEOWANxpaw31wAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Done\n",
      "Sample trajectory on learned policy in episode 7:\n"
     ]
    },
    {
     "data": {
      "image/png": "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GAASCTEAJBJiAEgkxACQSIgBING3CvFdd90VNTU1sWrVqlM0DgCMLkMO8b59++Lhhx+OCy+88FTOAwCjypBC/PHHH8eSJUvikUceiTPOOONUzwQAo8aQQtzW1haLFi2KhQsXfuO2PT09USqVBiwAwBfGlrvDE088EQcOHIh9+/YNavv29va47bbbyh4MAEaDss6IOzo6YuXKlfHYY4/F+PHjB7XP2rVro6urq3/p6OgY0qAAUI3KOiPev39/dHZ2xiWXXNK/rre3N3bu3BkPPPBA9PT0RG1t7YB96urqoq6u7tRMCwBVpqwQX3HFFfH6668PWLds2bKYOXNm3HzzzcdFGAA4ubJC3NDQELNnzx6wbsKECTFp0qTj1gMA38w3awFAorLfNf3/vfjii6dgDAAYnZwRA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAIm+9XdNAzDM5hXZExxvb032BFXDGTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBINHY7AE4ib012RMcp7soskc4XgUeJ4DBckYMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIFHZIX7//ffj+uuvj0mTJkV9fX3MmTMnXnnlleGYDQCqXlnXI/7oo49iwYIF8ZOf/CSee+65+O53vxtvvfVWnHHGGcM1HwBUtbJCvGHDhmhubo5HH320f11LS8spHwoARouynpp+5plnorW1Na677rqYPHlyXHzxxfHII4+cdJ+enp4olUoDFgDgC2WF+J133omNGzfGjBkz4u9//3v85je/iRUrVsTmzZu/dp/29vZobGzsX5qbm7/10ABQLWqKoigGu/G4ceOitbU1Xnrppf51K1asiH379sXLL798wn16enqip6en/3apVIrm5uaoj4iaoc99ynXvyZ7gNDFv0H8uI2dvJf0lwTDw725QJszPnuArRUT8NyK6urpi4sSJJ922rDPiadOmxQUXXDBg3fnnnx/vvffe1+5TV1cXEydOHLAAAF8oK8QLFiyIQ4cODVh3+PDhOOecc07pUAAwWpQV4ptuuil2794dd955Z7z99tuxZcuW2LRpU7S1tQ3XfABQ1coK8dy5c2Pr1q3x+OOPx+zZs+P222+Pe++9N5YsWTJc8wFAVSvrc8QREddcc01cc801wzELAIw6vmsaABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASFT2d00zylXgxcArkgu5D04lHicYYc6IASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJxmYPAFVpb032BKcHxwmcEQNAJiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIVFaIe3t7Y926ddHS0hL19fVx3nnnxe233x5FUQzXfABQ1cq6HvGGDRti48aNsXnz5pg1a1a88sorsWzZsmhsbIwVK1YM14wAULXKCvFLL70UP/3pT2PRokUREXHuuefG448/Hnv37h2W4QCg2pX11PTll18e27dvj8OHD0dExGuvvRa7du2Kq6+++mv36enpiVKpNGABAL5Q1hnxmjVrolQqxcyZM6O2tjZ6e3tj/fr1sWTJkq/dp729PW677bZvPSgAVKOyzoifeuqpeOyxx2LLli1x4MCB2Lx5c/zxj3+MzZs3f+0+a9euja6urv6lo6PjWw8NANWipijjLc/Nzc2xZs2aaGtr6193xx13xF/+8pd48803B/U7SqVSNDY2Rn1E1JQ97vDp3pM9AQDfxoT52RN8pYiI/0ZEV1dXTJw48aTblnVG/Mknn8SYMQN3qa2tjb6+vnJnBACizNeIr7322li/fn1Mnz49Zs2aFa+++mrcc889sXz58uGaDwCqWllPTR87dizWrVsXW7dujc7Ozmhqaopf/epXccstt8S4ceMG9Ts8NQ3AcDhdn5ouK8SnghADMBxO1xD7rmkASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgUVlXX6pmlfQdpQCMHs6IASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERjR/oOi6L44r8jfccAMEK+bNyXzTuZEQ/xsWPHIiLi05G+YwAYYceOHYvGxsaTblNTDCbXp1BfX1988MEH0dDQEDU1NUP+PaVSKZqbm6OjoyMmTpx4CiesLo7T4DhOg+M4DY7jNDjVfJyKoohjx45FU1NTjBlz8leBR/yMeMyYMXH22Wefst83ceLEqvsfOBwcp8FxnAbHcRocx2lwqvU4fdOZ8Je8WQsAEgkxACQ6bUNcV1cXt956a9TV1WWPUtEcp8FxnAbHcRocx2lwHKcvjPibtQCAr5y2Z8QAUA2EGAASCTEAJBJiAEh02ob4wQcfjHPPPTfGjx8f8+fPj71792aPVFHa29tj7ty50dDQEJMnT47FixfHoUOHsseqaHfddVfU1NTEqlWrskepOO+//35cf/31MWnSpKivr485c+bEK6+8kj1WRent7Y1169ZFS0tL1NfXx3nnnRe33377oL5ruJrt3Lkzrr322mhqaoqampr461//OuDnRVHELbfcEtOmTYv6+vpYuHBhvPXWWznDJjktQ/zkk0/G6tWr49Zbb40DBw7ERRddFFdddVV0dnZmj1YxduzYEW1tbbF79+7Ytm1bfP7553HllVdGd3d39mgVad++ffHwww/HhRdemD1Kxfnoo49iwYIF8Z3vfCeee+65+Oc//xl/+tOf4owzzsgeraJs2LAhNm7cGA888ED861//ig0bNsTdd98d999/f/Zoqbq7u+Oiiy6KBx988IQ/v/vuu+O+++6Lhx56KPbs2RMTJkyIq666Kj79dBRdkaA4Dc2bN69oa2vrv93b21s0NTUV7e3tiVNVts7OziIiih07dmSPUnGOHTtWzJgxo9i2bVvxox/9qFi5cmX2SBXl5ptvLn7wgx9kj1HxFi1aVCxfvnzAup/97GfFkiVLkiaqPBFRbN26tf92X19fMXXq1OIPf/hD/7r//Oc/RV1dXfH4448nTJjjtDsj/uyzz2L//v2xcOHC/nVjxoyJhQsXxssvv5w4WWXr6uqKiIgzzzwzeZLK09bWFosWLRrwN8VXnnnmmWhtbY3rrrsuJk+eHBdffHE88sgj2WNVnMsvvzy2b98ehw8fjoiI1157LXbt2hVXX3118mSV6913340jR44M+LfX2NgY8+fPH1WP5yN+0Ydv68MPP4ze3t6YMmXKgPVTpkyJN998M2mqytbX1xerVq2KBQsWxOzZs7PHqShPPPFEHDhwIPbt25c9SsV65513YuPGjbF69er43e9+F/v27YsVK1bEuHHjYunSpdnjVYw1a9ZEqVSKmTNnRm1tbfT29sb69etjyZIl2aNVrCNHjkREnPDx/MufjQanXYgpX1tbW7zxxhuxa9eu7FEqSkdHR6xcuTK2bdsW48ePzx6nYvX19UVra2vceeedERFx8cUXxxtvvBEPPfSQEP+Pp556Kh577LHYsmVLzJo1Kw4ePBirVq2KpqYmx4mTOu2emj7rrLOitrY2jh49OmD90aNHY+rUqUlTVa4bbrghnn322XjhhRdO6eUnq8H+/fujs7MzLrnkkhg7dmyMHTs2duzYEffdd1+MHTs2ent7s0esCNOmTYsLLrhgwLrzzz8/3nvvvaSJKtNvf/vbWLNmTfzyl7+MOXPmxK9//eu46aabor29PXu0ivXlY/Zofzw/7UI8bty4uPTSS2P79u396/r6+mL79u1x2WWXJU5WWYqiiBtuuCG2bt0a//jHP6KlpSV7pIpzxRVXxOuvvx4HDx7sX1pbW2PJkiVx8ODBqK2tzR6xIixYsOC4j74dPnw4zjnnnKSJKtMnn3xy3AXga2tro6+vL2miytfS0hJTp04d8HheKpViz549o+rx/LR8anr16tWxdOnSaG1tjXnz5sW9994b3d3dsWzZsuzRKkZbW1ts2bIlnn766WhoaOh/vaWxsTHq6+uTp6sMDQ0Nx71mPmHChJg0aZLX0v/HTTfdFJdffnnceeed8fOf/zz27t0bmzZtik2bNmWPVlGuvfbaWL9+fUyfPj1mzZoVr776atxzzz2xfPny7NFSffzxx/H222/333733Xfj4MGDceaZZ8b06dNj1apVcccdd8SMGTOipaUl1q1bF01NTbF48eK8oUda9tu2h+r+++8vpk+fXowbN66YN29esXv37uyRKkpEnHB59NFHs0eraD6+dGJ/+9vfitmzZxd1dXXFzJkzi02bNmWPVHFKpVKxcuXKYvr06cX48eOL733ve8Xvf//7oqenJ3u0VC+88MIJH4uWLl1aFMUXH2Fat25dMWXKlKKurq644oorikOHDuUOPcJcBhEAEp12rxEDQDURYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASDR/wEOWANxpaw31wAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Done\n",
      "Sample trajectory on learned policy in episode 8:\n"
     ]
    },
    {
     "data": {
      "image/png": "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K5YtW5Y0UeWJiGL79u39X/f19RUzZ84s/vCHP/Sv+/e//13U1dUV27ZtS5gwx5g7I/7kk09i//79sXjx4v51EyZMiMWLF8dLL72UOFll6+rqioiIqVOnJk9Sedrb22PJkiUD/qb4wpNPPhltbW1x1VVXxfTp0+OCCy6IBx98MHusinPxxRfHzp074/DhwxER8eqrr8YLL7wQl19+efJkleudd96JI0eODPi/19TUFAsXLhxX9+ejftGHb+qDDz6I3t7emDFjxoD1M2bMiDfeeCNpqsrW19cXq1evjkWLFsW8efOyx6kojzzySBw4cCD27duXPUrFevvtt2PTpk2xZs2a+N3vfhf79u2LlStXxqRJk2L58uXZ41WMtWvXRqlUijlz5kRtbW309vbGhg0bYtmyZdmjVawjR45ERJzw/vzz740HYy7ElK+9vT1ef/31eOGFF7JHqSidnZ2xatWq2LFjR0yePDl7nIrV19cXbW1tcdttt0VExAUXXBCvv/563H///UL8Px577LF4+OGHY+vWrTF37tw4ePBgrF69Opqbmx0nTmrMPTR96qmnRm1tbRw9enTA+qNHj8bMmTOTpqpc1157bTz11FPx7LPPDuvlJ6vB/v3749ixY/G9730vJk6cGBMnToxdu3bF3XffHRMnToze3t7sESvCrFmz4pxzzhmw7uyzz4533303aaLK9Nvf/jbWrl0bv/zlL+Pcc8+NX//613H99ddHR0dH9mgV6/P77PF+fz7mQjxp0qS48MILY+fOnf3r+vr6YufOnXHRRRclTlZZiqKIa6+9NrZv3x5///vfo7W1NXukinPJJZfEa6+9FgcPHuxf2traYtmyZXHw4MGora3NHrEiLFq06EtvfTt8+HCcfvrpSRNVpo8//vhLF4Cvra2Nvr6+pIkqX2tra8ycOXPA/XmpVIo9e/aMq/vzMfnQ9Jo1a2L58uXR1tYWCxYsiLvuuiu6u7tjxYoV2aNVjPb29ti6dWs88cQT0dDQ0P98S1NTU9TX1ydPVxkaGhq+9Jz5lClTYtq0aZ5L/x/XX399XHzxxXHbbbfFz3/+89i7d29s3rw5Nm/enD1aRbnyyitjw4YNMXv27Jg7d2688sorceedd8Y111yTPVqqjz76KN56663+r9955504ePBgTJ06NWbPnh2rV6+OW2+9Nc4666xobW2N9evXR3NzcyxdujRv6NGW/bLtobrnnnuK2bNnF5MmTSoWLFhQ7N69O3ukihIRJ1weeuih7NEqmrcvndhf//rXYt68eUVdXV0xZ86cYvPmzdkjVZxSqVSsWrWqmD17djF58uTiO9/5TvH73/++6OnpyR4t1bPPPnvC+6Lly5cXRfHZW5jWr19fzJgxo6irqysuueSS4tChQ7lDjzKXQQSARGPuOWIAqCZCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACT6Pz5RD0tl4qDlAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Done\n",
      "Sample trajectory on learned policy in episode 9:\n"
     ]
    },
    {
     "data": {
      "image/png": "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GAASCTEAJBJiAEgkxACQSIgBING3CvFdd90VNTU1sWrVqlM0DgCMLkMO8b59++Lhhx+OCy+88FTOAwCjypBC/PHHH8eSJUvikUceiTPOOONUzwQAo8aQQtzW1haLFi2KhQsXfuO2PT09USqVBiwAwBfGlrvDE088EQcOHIh9+/YNavv29va47bbbyh4MAEaDss6IOzo6YuXKlfHYY4/F+PHjB7XP2rVro6urq3/p6OgY0qAAUI3KOiPev39/dHZ2xiWXXNK/rre3N3bu3BkPPPBA9PT0RG1t7YB96urqoq6u7tRMCwBVpqwQX3HFFfH6668PWLds2bKYOXNm3HzzzcdFGAA4ubJC3NDQELNnzx6wbsKECTFp0qTj1gMA38w3awFAorLfNf3/vfjii6dgDAAYnZwRA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAIm+9XdNAzDM5hXZExxvb032BFXDGTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBINHY7AE4ib012RMcp7soskc4XgUeJ4DBckYMAImEGAASCTEAJBJiAEgkxACQSIgBIJEQA0AiIQaAREIMAImEGAASCTEAJBJiAEgkxACQSIgBIFHZIX7//ffj+uuvj0mTJkV9fX3MmTMnXnnlleGYDQCqXlnXI/7oo49iwYIF8ZOf/CSee+65+O53vxtvvfVWnHHGGcM1HwBUtbJCvGHDhmhubo5HH320f11LS8spHwoARouynpp+5plnorW1Na677rqYPHlyXHzxxfHII4+cdJ+enp4olUoDFgDgC2WF+J133omNGzfGjBkz4u9//3v85je/iRUrVsTmzZu/dp/29vZobGzsX5qbm7/10ABQLWqKoigGu/G4ceOitbU1Xnrppf51K1asiH379sXLL798wn16enqip6en/3apVIrm5uaoj4iaoc99ynXvyZ7gNDFv0H8uI2dvJf0lwTDw725QJszPnuArRUT8NyK6urpi4sSJJ922rDPiadOmxQUXXDBg3fnnnx/vvffe1+5TV1cXEydOHLAAAF8oK8QLFiyIQ4cODVh3+PDhOOecc07pUAAwWpQV4ptuuil2794dd955Z7z99tuxZcuW2LRpU7S1tQ3XfABQ1coK8dy5c2Pr1q3x+OOPx+zZs+P222+Pe++9N5YsWTJc8wFAVSvrc8QREddcc01cc801wzELAIw6vmsaABIJMQAkEmIASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASFT2d00zylXgxcArkgu5D04lHicYYc6IASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJxmYPAFVpb032BKcHxwmcEQNAJiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIVFaIe3t7Y926ddHS0hL19fVx3nnnxe233x5FUQzXfABQ1cq6HvGGDRti48aNsXnz5pg1a1a88sorsWzZsmhsbIwVK1YM14wAULXKCvFLL70UP/3pT2PRokUREXHuuefG448/Hnv37h2W4QCg2pX11PTll18e27dvj8OHD0dExGuvvRa7du2Kq6+++mv36enpiVKpNGABAL5Q1hnxmjVrolQqxcyZM6O2tjZ6e3tj/fr1sWTJkq/dp729PW677bZvPSgAVKOyzoifeuqpeOyxx2LLli1x4MCB2Lx5c/zxj3+MzZs3f+0+a9euja6urv6lo6PjWw8NANWipijjLc/Nzc2xZs2aaGtr6193xx13xF/+8pd48803B/U7SqVSNDY2Rn1E1JQ97vDp3pM9AQDfxoT52RN8pYiI/0ZEV1dXTJw48aTblnVG/Mknn8SYMQN3qa2tjb6+vnJnBACizNeIr7322li/fn1Mnz49Zs2aFa+++mrcc889sXz58uGaDwCqWllPTR87dizWrVsXW7dujc7Ozmhqaopf/epXccstt8S4ceMG9Ts8NQ3AcDhdn5ouK8SnghADMBxO1xD7rmkASCTEAJBIiAEgkRADQCIhBoBEQgwAiYQYABIJMQAkEmIASCTEAJBIiAEgUVlXX6pmlfQdpQCMHs6IASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASCREANAIiEGgERjR/oOi6L44r8jfccAMEK+bNyXzTuZEQ/xsWPHIiLi05G+YwAYYceOHYvGxsaTblNTDCbXp1BfX1988MEH0dDQEDU1NUP+PaVSKZqbm6OjoyMmTpx4CiesLo7T4DhOg+M4DY7jNDjVfJyKoohjx45FU1NTjBlz8leBR/yMeMyYMXH22Wefst83ceLEqvsfOBwcp8FxnAbHcRocx2lwqvU4fdOZ8Je8WQsAEgkxACQ6bUNcV1cXt956a9TV1WWPUtEcp8FxnAbHcRocx2lwHKcvjPibtQCAr5y2Z8QAUA2EGAASCTEAJBJiAEh02ob4wQcfjHPPPTfGjx8f8+fPj71792aPVFHa29tj7ty50dDQEJMnT47FixfHoUOHsseqaHfddVfU1NTEqlWrskepOO+//35cf/31MWnSpKivr485c+bEK6+8kj1WRent7Y1169ZFS0tL1NfXx3nnnRe33377oL5ruJrt3Lkzrr322mhqaoqampr461//OuDnRVHELbfcEtOmTYv6+vpYuHBhvPXWWznDJjktQ/zkk0/G6tWr49Zbb40DBw7ERRddFFdddVV0dnZmj1YxduzYEW1tbbF79+7Ytm1bfP7553HllVdGd3d39mgVad++ffHwww/HhRdemD1Kxfnoo49iwYIF8Z3vfCeee+65+Oc//xl/+tOf4owzzsgeraJs2LAhNm7cGA888ED861//ig0bNsTdd98d999/f/Zoqbq7u+Oiiy6KBx988IQ/v/vuu+O+++6Lhx56KPbs2RMTJkyIq666Kj79dBRdkaA4Dc2bN69oa2vrv93b21s0NTUV7e3tiVNVts7OziIiih07dmSPUnGOHTtWzJgxo9i2bVvxox/9qFi5cmX2SBXl5ptvLn7wgx9kj1HxFi1aVCxfvnzAup/97GfFkiVLkiaqPBFRbN26tf92X19fMXXq1OIPf/hD/7r//Oc/RV1dXfH4448nTJjjtDsj/uyzz2L//v2xcOHC/nVjxoyJhQsXxssvv5w4WWXr6uqKiIgzzzwzeZLK09bWFosWLRrwN8VXnnnmmWhtbY3rrrsuJk+eHBdffHE88sgj2WNVnMsvvzy2b98ehw8fjoiI1157LXbt2hVXX3118mSV6913340jR44M+LfX2NgY8+fPH1WP5yN+0Ydv68MPP4ze3t6YMmXKgPVTpkyJN998M2mqytbX1xerVq2KBQsWxOzZs7PHqShPPPFEHDhwIPbt25c9SsV65513YuPGjbF69er43e9+F/v27YsVK1bEuHHjYunSpdnjVYw1a9ZEqVSKmTNnRm1tbfT29sb69etjyZIl2aNVrCNHjkREnPDx/MufjQanXYgpX1tbW7zxxhuxa9eu7FEqSkdHR6xcuTK2bdsW48ePzx6nYvX19UVra2vceeedERFx8cUXxxtvvBEPPfSQEP+Pp556Kh577LHYsmVLzJo1Kw4ePBirVq2KpqYmx4mTOu2emj7rrLOitrY2jh49OmD90aNHY+rUqUlTVa4bbrghnn322XjhhRdO6eUnq8H+/fujs7MzLrnkkhg7dmyMHTs2duzYEffdd1+MHTs2ent7s0esCNOmTYsLLrhgwLrzzz8/3nvvvaSJKtNvf/vbWLNmTfzyl7+MOXPmxK9//eu46aabor29PXu0ivXlY/Zofzw/7UI8bty4uPTSS2P79u396/r6+mL79u1x2WWXJU5WWYqiiBtuuCG2bt0a//jHP6KlpSV7pIpzxRVXxOuvvx4HDx7sX1pbW2PJkiVx8ODBqK2tzR6xIixYsOC4j74dPnw4zjnnnKSJKtMnn3xy3AXga2tro6+vL2miytfS0hJTp04d8HheKpViz549o+rx/LR8anr16tWxdOnSaG1tjXnz5sW9994b3d3dsWzZsuzRKkZbW1ts2bIlnn766WhoaOh/vaWxsTHq6+uTp6sMDQ0Nx71mPmHChJg0aZLX0v/HTTfdFJdffnnceeed8fOf/zz27t0bmzZtik2bNmWPVlGuvfbaWL9+fUyfPj1mzZoVr776atxzzz2xfPny7NFSffzxx/H222/333733Xfj4MGDceaZZ8b06dNj1apVcccdd8SMGTOipaUl1q1bF01NTbF48eK8oUda9tu2h+r+++8vpk+fXowbN66YN29esXv37uyRKkpEnHB59NFHs0eraD6+dGJ/+9vfitmzZxd1dXXFzJkzi02bNmWPVHFKpVKxcuXKYvr06cX48eOL733ve8Xvf//7oqenJ3u0VC+88MIJH4uWLl1aFMUXH2Fat25dMWXKlKKurq644oorikOHDuUOPcJcBhEAEp12rxEDQDURYgBIJMQAkEiIASCREANAIiEGgERCDACJhBgAEgkxACQSYgBIJMQAkEiIASDR/wEOWANxpaw31wAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Uses last calulated Q-values to evaluate the policy\n",
    "evaluate_policy(policies_double_Q[-1], 10)"
   ]
  }
 ],
 "metadata": {
  "celltoolbar": "Create Assignment",
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.19"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
